Source code for pyphyschemtools.visualID

import os,sys,platform
from datetime import datetime
import datetime, time
#from IPython.core.display import display,Image,Markdown,HTML
from IPython.display import display,Image,Markdown,HTML
from urllib.request import urlopen

__author__ = "Romuald POTEAU"
__maintainer__ =  "Romuald POTEAU"
__email__ = "romuald.poteau@univ-tlse3.fr"
__status__ = "Development"

_start_time   = None
_end_time     = None
_chrono_start = None
_chrono_stop  = None

[docs] class color: PURPLE = '\033[95m' CYAN = '\033[96m' DARKCYAN = '\033[36m' BLUE = '\033[94m' GREEN = '\033[92m' YELLOW = '\033[93m' RED = '\033[91m' BOLD = '\033[1m' UNDERLINE = '\033[4m' OFF = '\033[0m'
[docs] def css_styling(pwy): styles = open(pwy+"/css/visualID.css", "r").read() display(HTML(styles))
#def css_styling(): # html = urlopen("file:./css/visualID.css") # styles = HTML(html.read().decode('utf-8')) # display(HTML(styles))
[docs] def display_md(text): display(Markdown(text))
[docs] def hdelay(sec): return str(datetime.timedelta(seconds=int(sec)))
# Return human delay like 01:14:28 543ms # delay can be timedelta or seconds
[docs] def hdelay_ms(delay): if type(delay) is not datetime.timedelta: delay=datetime.timedelta(seconds=delay) sec = delay.total_seconds() hh = sec // 3600 mm = (sec // 60) - (hh * 60) ss = sec - hh*3600 - mm*60 ms = (sec - int(sec))*1000 return f'{hh:02.0f}:{mm:02.0f}:{ss:02.0f} {ms:03.0f}ms'
[docs] def chrono_start(): global _chrono_start, _chrono_stop _chrono_start=time.time()
# return delay in seconds or in humain format
[docs] def chrono_stop(hdelay=False): global _chrono_start, _chrono_stop _chrono_stop = time.time() sec = _chrono_stop - _chrono_start if hdelay : return hdelay_ms(sec) return sec
[docs] def chrono_show(): print('\nDuration : ', hdelay_ms(time.time() - _chrono_start))
[docs] def init(pwy): global _start_time # Styling notebook # css_styling(pwy) # Today, now and hostname # _start_time = datetime.datetime.now() start_time = _start_time.strftime("%A %d %B %Y, %H:%M:%S") _h = platform.uname() h = _h[1]+" ("+_h[0]+")" md = f'**Début à:** {start_time} \n' md+= f'**Hostname:** {h}' display_md(md) #print('Run time :', _start_time.strftime("%A %d %B %Y, %H:%M:%S")) #print('Hostname :', f'{h[1]} ({h[0]})') path2svg = pwy + 'svg/' md = '<p style="text-align: center"><img width="800px" src="' + path2svg + 'logoDebut.svg" style="margin-left:auto; margin-right:auto"/></p>' display_md(md)
[docs] def end(pwy): global _end_time _end_time = datetime.datetime.now() end_time = time.strftime("%A %d %B %Y, %H:%M:%S") duration = hdelay_ms(_end_time - _start_time) md = f'**Fin à:** {end_time} \n' md+= f'**Durée:** {duration}' display_md(md) path2svg = pwy + 'svg/' md = '<p style="text-align: center"><img width="800px" src="' + path2svg + 'logoFin.svg" style="margin-left:auto; margin-right:auto"/></p>' display_md(md)