changes to make imports easier, refresh requirements.txt

This commit is contained in:
Coding with Peter 2024-02-03 08:16:33 -08:00
parent 38985af6aa
commit 9bbf91a5ee
6 changed files with 453 additions and 339 deletions

View File

@ -258,7 +258,7 @@ def Memoize( func):
"""
class MyRepl: class MyRepl:
description = { description = {
"switch ": "Switch stream. You can use either 'switch public' or 'switch mine'", "switch ": "Switch stream. You can use either 'switch public' or 'switch mine'",
@ -319,16 +319,11 @@ class MyRepl:
@Memoize @Memoize
def cycle_color(self, s): def cycle_color(self, s):
""" #Cycle the colors_shuffle
Cycle the colors_shuffle
"""
return next(self.cyc) return next(self.cyc)
def ascii_art(self, text): def ascii_art(self, text):
"""
Draw the Ascii Art
"""
return return
#fi = figlet_format(text, font='doom') #fi = figlet_format(text, font='doom')
#for i in fi.split('\n'): #for i in fi.split('\n'):
@ -336,9 +331,6 @@ class MyRepl:
def close_window(self, ): def close_window(self, ):
"""
Close screen
"""
global screen global screen
screen.keypad(0); screen.keypad(0);
curses.nocbreak(); curses.nocbreak();
@ -347,9 +339,6 @@ class MyRepl:
def suggest(self, word): def suggest(self, word):
"""
Find suggestion
"""
rel = [] rel = []
if not word: return rel if not word: return rel
word = word.lower() word = word.lower()
@ -367,18 +356,13 @@ class MyRepl:
def curses_print_word(self, word,color_pair_code): def curses_print_word(self, word,color_pair_code):
"""
Print a word
"""
global screen global screen
word = word.encode('utf8') word = word.encode('utf8')
screen.addstr(word,curses.color_pair(color_pair_code)) screen.addstr(word,curses.color_pair(color_pair_code))
def curses_print_line(self, line,color_pair_code): def curses_print_line(self, line,color_pair_code):
""" #Print a line, scroll down if need
Print a line, scroll down if need
"""
global screen global screen
line = line.encode('utf8') line = line.encode('utf8')
y,x = screen.getyx() y,x = screen.getyx()
@ -396,9 +380,6 @@ class MyRepl:
def redraw(self, start_y,end_y,fallback_y,fallback_x): def redraw(self, start_y,end_y,fallback_y,fallback_x):
"""
Redraw lines from buf
"""
global screen global screen
for cursor in range(start_y,end_y): for cursor in range(start_y,end_y):
screen.move(cursor,0) screen.move(cursor,0)
@ -412,9 +393,6 @@ class MyRepl:
def scroll_down(self, noredraw,fallback_y,fallback_x): def scroll_down(self, noredraw,fallback_y,fallback_x):
"""
Scroll down 1 line
"""
global screen global screen
# Recreate buf # Recreate buf
# noredraw = n means that screen will scroll down n-1 line # noredraw = n means that screen will scroll down n-1 line
@ -431,9 +409,6 @@ class MyRepl:
def clear_upside(self, n,y,x): def clear_upside(self, n,y,x):
"""
Clear n lines upside
"""
global screen global screen
for i in range(1,n+1): for i in range(1,n+1):
screen.move(y-i,0) screen.move(y-i,0)
@ -443,9 +418,7 @@ class MyRepl:
def display_suggest(self, y,x,word): def display_suggest(self, y,x,word):
""" # Display box of suggestion
Display box of suggestion
"""
global screen global screen
g = self.g g = self.g
side = 2 side = 2
@ -543,9 +516,6 @@ class MyRepl:
def inputloop(self, ): def inputloop(self, ):
"""
Main loop input
"""
global screen global screen
word = '' word = ''
screen.addstr("\n" + self.g['prefix'],curses.color_pair(7)) screen.addstr("\n" + self.g['prefix'],curses.color_pair(7))
@ -755,5 +725,4 @@ def repl():
def repl(): def repl():
repl_degs() repl_degs()
"""

View File

@ -1197,10 +1197,10 @@ def fetch_current_rosters():
if len(seen_files)==3: if len(seen_files)==3:
print(' -> %s building data file...' % dt_label) print(' -> %s building data file...' % dt_label)
convert_roster_files(this_sem,year,dt_label) convert_roster_files(this_sem,year,dt_label)
print(' -> moving files...') print(' -> moving files...')
move_to_folder(this_sem,year,dt_label,seen_files) move_to_folder(this_sem,year,dt_label,seen_files)
else: else:
print(" * No courses file. Not moving files.") print(" * No courses file. Not moving files.")
else: else:
print("--> Don't see files.") print("--> Don't see files.")
sftp.close() sftp.close()
@ -1209,11 +1209,11 @@ def fetch_current_rosters_auto():
fetch_minute = "58" fetch_minute = "58"
schedule.every().hour.at(f":{fetch_minute}").do(fetch_current_rosters) schedule.every().hour.at(f":{fetch_minute}").do(fetch_current_rosters)
schedule.every().day.at("12:35").do(sync_non_interactive) #schedule.every().day.at("12:35").do(sync_non_interactive)
schedule.every().day.at("21:00").do(sync_non_interactive) #schedule.every().day.at("21:00").do(sync_non_interactive)
print(f"running every hour on the :{fetch_minute}\n") #print(f"running every hour on the :{fetch_minute}\n")
while True: while True:
try: try:
schedule.run_pending() schedule.run_pending()

View File

@ -1,287 +1,145 @@
anaconda-client==1.6.5 aiofiles==23.2.1
anaconda-navigator==1.6.9 aiohttp==3.9.3
anaconda-project==0.8.0 aiohttp-retry==2.8.3
asn1crypto==0.22.0 aiomysql==0.2.0
astroid==1.5.3 aiosignal==1.3.1
astropy==2.0.2 annoy==1.17.3
atomicfile==1.0.1 async-timeout==4.0.3
attrs==18.2.0 asyncpg==0.29.0
Automat==0.7.0 attrs==23.2.0
Babel==2.5.0 Babel==2.14.0
backports.shutil-get-terminal-size==1.0.0 bcrypt==4.1.2
bcrypt==3.1.7 beautifulsoup4==4.12.3
beautifulsoup4==4.6.0 bidict==0.22.1
bitarray==0.8.1 blinker==1.7.0
bkcharts==0.2 certifi==2024.2.2
blaze==0.11.3 cffi==1.16.0
bleach==2.0.0 charset-normalizer==3.3.2
blinker==1.4 click==8.1.7
bokeh==0.12.10 colorama==0.4.6
boto==2.48.0 contourpy==1.2.0
boto3==1.10.20 courlan==1.0.0
botocore==1.13.20 cryptography==42.0.2
Bottleneck==1.2.1 cycler==0.12.1
certifi==2019.9.11 dateparser==1.2.0
cffi==1.10.0 deepdiff==6.7.1
chardet==3.0.4 docxcompose==1.4.0
clfparser==0.3 docxtpl==0.16.7
click==6.7 durable-rules==2.0.28
cloudpickle==0.4.0 filelock==3.13.1
clyent==1.2.2 Flask==3.0.1
coinmarketcap==5.0.3 Flask-SocketIO==5.3.6
colorama==0.3.9 Flask-SSE==1.0.0
colorlog==4.0.2 fonttools==4.47.2
conda==4.3.30 frozenlist==1.4.1
conda-build==3.0.27 fsspec==2023.12.2
conda-verify==2.0.0 funcy==2.0
constantly==15.1.0 gensim==4.3.2
contextlib2==0.5.5 greenlet==3.0.3
cryptography==2.5 h11==0.14.0
cssselect==1.0.3 html2markdown==0.1.7
cycler==0.10.0 htmldate==1.7.0
cymem==2.0.2 huggingface-hub==0.20.3
Cython==0.28.5 idna==3.6
cytoolz==0.9.0.1 instructure-dap-client==0.3.18
dask==0.15.3 itsdangerous==2.1.2
datashape==0.5.4 Jinja2==3.1.3
DAWG-Python==0.7.2 joblib==1.3.2
decorator==4.1.2 json_strong_typing==0.3.2
deepdiff==5.0.2 jsondiff==2.0.0
deeppavlov==0.1.6 jsonschema==4.21.1
dill==0.2.9 jsonschema-specifications==2023.12.1
distributed==1.19.1 jusText==3.0.0
dnspython==2.0.0 kiwisolver==1.4.5
docopt==0.6.2 langcodes==3.3.0
docutils==0.14 lark==1.1.9
docx==0.2.4 linkify-it-py==2.0.2
durable-rules==2.0.28 lxml==5.1.0
email-validator==1.1.1 Markdown==3.5.2
emoji==0.5.4 markdown-it-py==3.0.0
en-core-web-lg==2.0.0 markdownify==0.11.6
en-core-web-sm==2.0.0 MarkupSafe==2.1.5
entrypoints==0.2.3 matplotlib==3.8.2
et-xmlfile==1.0.1 mdit-py-plugins==0.4.0
fastcache==1.0.2 mdurl==0.1.2
filelock==2.0.12 minizinc==0.9.0
flasgger==0.9.1 mpmath==1.3.0
Flask==1.0.2 multidict==6.0.4
Flask-Caching==1.9.0 networkx==3.2.1
Flask-Cors==3.0.6 nltk==3.8.1
Flask-HTTPAuth==4.1.0 numpy==1.26.3
Flask-Login==0.5.0 ordered-set==4.1.0
Flask-Mail==0.9.1 orjson==3.9.12
Flask-SocketIO==4.3.1 packaging==23.2
Flask-SQLAlchemy==2.4.4 paho-mqtt==1.6.1
Flask-User==1.0.2.2 pampy==0.3.0
Flask-WTF==0.14.3 pandas==2.2.0
funcy==1.14 paramiko==3.4.0
fuzzywuzzy==0.16.0 path-dict==4.0.0
gensim==3.8.3 pathlib==1.0.1
gevent==1.2.2 pdfminer==20191125
gevent-websocket==0.10.1 pdfminer.six==20231228
glob2==0.5 pillow==10.2.0
glob3==0.0.1 pyarrow==15.0.0
gmpy2==2.0.8 pycparser==2.21
graphviz==0.15 pycryptodome==3.20.0
greenlet==0.4.12 pygame==2.5.2
h5py==2.8.0 Pygments==2.17.2
heapdict==1.0.0 PyJWT==2.8.0
html2text==2018.1.9 PyMySQL==1.1.0
html5lib==0.999999999 PyNaCl==1.5.0
hyperlink==18.0.0 pypandoc==1.12
idna==2.8 pyparsing==3.1.1
imageio==2.2.0 PyPDF2==3.0.1
imagesize==0.7.1 pysftp==0.2.9
importlib-metadata==2.0.0 python-dateutil==2.8.2
incremental==17.5.0 python-docx==1.1.0
inflection==0.3.1 python-engineio==4.8.2
ipdb==0.13.4 python-socketio==5.11.0
ipykernel==4.6.1 pytz==2024.1
ipython==6.1.0 pywin32==306
ipython-genutils==0.2.0 PyYAML==6.0.1
ipywidgets==7.0.0 redis==5.0.1
isort==4.2.15 referencing==0.33.0
itsdangerous==0.24 regex==2023.12.25
jdcal==1.3 requests==2.31.0
jedi==0.10.2 rich==13.7.0
Jinja2==2.10 rpds-py==0.17.1
jmespath==0.9.4 safetensors==0.4.2
jsondiff==1.2.0 schedule==1.2.1
jsonschema==2.6.0 scikit-learn==1.4.0
jupyter-client==5.1.0 scipy==1.12.0
jupyter-console==5.2.0 sentence-transformers==2.3.1
jupyter-core==4.3.0 sentencepiece==0.1.99
jupyterlab==0.27.0 simple-websocket==1.0.0
jupyterlab-launcher==0.4.0 simpy==4.1.1
Keras==2.2.0 six==1.16.0
Keras-Applications==1.0.2 smart-open==6.4.0
Keras-Preprocessing==1.0.1 sortedcontainers==2.4.0
lazy-object-proxy==1.3.1 soupsieve==2.5
llvmlite==0.20.0 SQLAlchemy==2.0.25
locket==0.2.0 striprtf==0.0.26
lxml==4.1.0 sympy==1.12
Markdown==3.3.3 textdistance==4.6.1
MarkupSafe==1.0 textual==0.48.2
matplotlib==2.1.0 threadpoolctl==3.2.0
mccabe==0.6.1 tld==0.13
mistune==0.7.4 tokenizers==0.15.1
mmh3==2.5.1 tomd==0.1.3
more-itertools==5.0.0 toolz==0.12.1
mpmath==0.19 torch==2.2.0
msgpack==0.5.6 tqdm==4.66.1
msgpack-numpy==0.4.3.2 trafilatura==1.7.0
msgpack-python==0.4.8 transformers==4.37.2
multipledispatch==0.4.9 types-aiofiles==23.2.0.20240106
murmurhash==1.0.2 typing_extensions==4.9.0
mysql-connector==2.1.6 tzdata==2023.4
mysql-connector-python==8.0.15 tzlocal==5.2
navigator-updater==0.1.0 uc-micro-py==1.0.2
nbconvert==5.3.1 urllib3==2.2.0
nbformat==4.4.0 Werkzeug==3.0.1
ndg-httpsclient==0.5.1 Whoosh==2.7.4
networkx==2.0 wsproto==1.2.0
nltk==3.2.5 xlwt==1.3.0
nose==1.3.7 yarl==1.9.4
notebook==5.0.0 yattag==1.15.2
nrepl-python-client==0.0.3
numba==0.35.0+10.g143f70e90
numexpr==2.6.2
numpy==1.14.5
numpydoc==0.7.0
odo==0.5.1
olefile==0.44
openpyxl==2.4.8
ordered-set==4.0.2
ortools==7.1.6720
overrides==1.9
packaging==16.8
paho-mqtt==1.5.0
pampy==0.3.0
pandas==0.23.1
pandas-datareader==0.8.1
pandocfilters==1.4.2
paramiko==2.7.1
parsel==1.5.1
partd==0.3.8
passlib==1.7.2
path.py==10.3.1
pathlib==1.0.1
pathlib2==2.3.0
patsy==0.4.1
peewee==3.9.5
pep8==1.7.0
pervane==0.0.66
pexpect==4.2.1
pickleshare==0.7.4
Pillow==4.2.1
pkginfo==1.4.1
plac==0.9.6
plotly==4.14.1
ply==3.10
preshed==2.0.1
prompt-toolkit==1.0.15
protobuf==3.7.1
psutil==5.4.0
ptyprocess==0.5.2
py==1.4.34
pyasn1==0.4.5
pyasn1-modules==0.2.4
pycodestyle==2.3.1
pycosat==0.6.2
pycparser==2.18
pycrypto==2.6.1
pycurl==7.43.0
pydbus==0.6.0
PyDispatcher==2.0.5
pyflakes==1.6.0
Pygments==2.2.0
PyHamcrest==1.9.0
pylint==1.7.4
pymorphy2==0.8
pymorphy2-dicts==2.4.393442.3710985
pymorphy2-dicts-ru==2.4.404381.4453942
PyNaCl==1.3.0
pync==2.0.3
pyodbc==4.0.17
pyOpenSSL==18.0.0
pypandoc==1.4
pyparsing==2.2.0
pysftp==0.2.9
PySocks==1.6.7
pyTelegramBotAPI==3.5.2
pytest==3.2.1
python-dateutil==2.6.1
python-engineio==3.13.2
python-socketio==4.6.0
pytz==2017.2
PyWavelets==0.5.2
PyYAML==3.12
pyzmq==16.0.2
QtAwesome==0.4.4
qtconsole==4.3.1
QtPy==1.3.1
Quandl==3.4.8
queuelib==1.5.0
rake-nltk==1.0.4
readline==6.2.4.1
regex==2018.1.10
requests==2.22.0
requests-cache==0.5.2
retrying==1.3.3
rope==0.10.5
ruamel-yaml==0.11.14
rusenttokenize==0.0.4
s3transfer==0.2.1
schedule==0.6.0
scikit-image==0.13.0
scikit-learn==0.19.1
scipy==1.1.0
Scrapy==1.6.0
seaborn==0.8
service-identity==18.1.0
simplegeneric==0.8.1
singledispatch==3.4.0.3
six==1.12.0
smart-open==3.0.0
snowballstemmer==1.2.1
sortedcollections==0.5.3
sortedcontainers==1.5.7
spacy==2.0.18
Sphinx==1.6.3
sphinxcontrib-websupport==1.0.1
spyder==3.2.4
SQLAlchemy==1.1.13
statsmodels==0.8.0
striprtf==0.0.11
summa==1.2.0
sympy==1.1.1
tables==3.4.2
tblib==1.3.2
terminado==0.6
testpath==0.3.1
textdistance==4.2.0
thinc==6.12.1
toolz==0.8.2
tornado==4.5.2
tqdm==4.23.4
traitlets==4.3.2
Twisted==18.9.0
typing==3.6.2
ujson==1.35
unicodecsv==0.14.1
urllib3==1.25.7
w3lib==1.20.0
wcwidth==0.1.7
webencodings==0.5.1
Werkzeug==0.14.1
widgetsnbextension==3.0.2
wrapt==1.10.11
WTForms==2.3.1
xlrd==1.1.0
XlsxWriter==1.0.2
xlwt==1.3.0
yattag==1.11.1
youtube-dl==2019.11.5
zict==0.1.3
zipp==3.4.0
zope.interface==4.6.0

287
requirements_2023.txt Normal file
View File

@ -0,0 +1,287 @@
anaconda-client==1.6.5
anaconda-navigator==1.6.9
anaconda-project==0.8.0
asn1crypto==0.22.0
astroid==1.5.3
astropy==2.0.2
atomicfile==1.0.1
attrs==18.2.0
Automat==0.7.0
Babel==2.5.0
backports.shutil-get-terminal-size==1.0.0
bcrypt==3.1.7
beautifulsoup4==4.6.0
bitarray==0.8.1
bkcharts==0.2
blaze==0.11.3
bleach==2.0.0
blinker==1.4
bokeh==0.12.10
boto==2.48.0
boto3==1.10.20
botocore==1.13.20
Bottleneck==1.2.1
certifi==2019.9.11
cffi==1.10.0
chardet==3.0.4
clfparser==0.3
click==6.7
cloudpickle==0.4.0
clyent==1.2.2
coinmarketcap==5.0.3
colorama==0.3.9
colorlog==4.0.2
conda==4.3.30
conda-build==3.0.27
conda-verify==2.0.0
constantly==15.1.0
contextlib2==0.5.5
cryptography==2.5
cssselect==1.0.3
cycler==0.10.0
cymem==2.0.2
Cython==0.28.5
cytoolz==0.9.0.1
dask==0.15.3
datashape==0.5.4
DAWG-Python==0.7.2
decorator==4.1.2
deepdiff==5.0.2
deeppavlov==0.1.6
dill==0.2.9
distributed==1.19.1
dnspython==2.0.0
docopt==0.6.2
docutils==0.14
docx==0.2.4
durable-rules==2.0.28
email-validator==1.1.1
emoji==0.5.4
en-core-web-lg==2.0.0
en-core-web-sm==2.0.0
entrypoints==0.2.3
et-xmlfile==1.0.1
fastcache==1.0.2
filelock==2.0.12
flasgger==0.9.1
Flask==1.0.2
Flask-Caching==1.9.0
Flask-Cors==3.0.6
Flask-HTTPAuth==4.1.0
Flask-Login==0.5.0
Flask-Mail==0.9.1
Flask-SocketIO==4.3.1
Flask-SQLAlchemy==2.4.4
Flask-User==1.0.2.2
Flask-WTF==0.14.3
funcy==1.14
fuzzywuzzy==0.16.0
gensim==3.8.3
gevent==1.2.2
gevent-websocket==0.10.1
glob2==0.5
glob3==0.0.1
gmpy2==2.0.8
graphviz==0.15
greenlet==0.4.12
h5py==2.8.0
heapdict==1.0.0
html2text==2018.1.9
html5lib==0.999999999
hyperlink==18.0.0
idna==2.8
imageio==2.2.0
imagesize==0.7.1
importlib-metadata==2.0.0
incremental==17.5.0
inflection==0.3.1
ipdb==0.13.4
ipykernel==4.6.1
ipython==6.1.0
ipython-genutils==0.2.0
ipywidgets==7.0.0
isort==4.2.15
itsdangerous==0.24
jdcal==1.3
jedi==0.10.2
Jinja2==2.10
jmespath==0.9.4
jsondiff==1.2.0
jsonschema==2.6.0
jupyter-client==5.1.0
jupyter-console==5.2.0
jupyter-core==4.3.0
jupyterlab==0.27.0
jupyterlab-launcher==0.4.0
Keras==2.2.0
Keras-Applications==1.0.2
Keras-Preprocessing==1.0.1
lazy-object-proxy==1.3.1
llvmlite==0.20.0
locket==0.2.0
lxml==4.1.0
Markdown==3.3.3
MarkupSafe==1.0
matplotlib==2.1.0
mccabe==0.6.1
mistune==0.7.4
mmh3==2.5.1
more-itertools==5.0.0
mpmath==0.19
msgpack==0.5.6
msgpack-numpy==0.4.3.2
msgpack-python==0.4.8
multipledispatch==0.4.9
murmurhash==1.0.2
mysql-connector==2.1.6
mysql-connector-python==8.0.15
navigator-updater==0.1.0
nbconvert==5.3.1
nbformat==4.4.0
ndg-httpsclient==0.5.1
networkx==2.0
nltk==3.2.5
nose==1.3.7
notebook==5.0.0
nrepl-python-client==0.0.3
numba==0.35.0+10.g143f70e90
numexpr==2.6.2
numpy==1.14.5
numpydoc==0.7.0
odo==0.5.1
olefile==0.44
openpyxl==2.4.8
ordered-set==4.0.2
ortools==7.1.6720
overrides==1.9
packaging==16.8
paho-mqtt==1.5.0
pampy==0.3.0
pandas==0.23.1
pandas-datareader==0.8.1
pandocfilters==1.4.2
paramiko==2.7.1
parsel==1.5.1
partd==0.3.8
passlib==1.7.2
path.py==10.3.1
pathlib==1.0.1
pathlib2==2.3.0
patsy==0.4.1
peewee==3.9.5
pep8==1.7.0
pervane==0.0.66
pexpect==4.2.1
pickleshare==0.7.4
Pillow==4.2.1
pkginfo==1.4.1
plac==0.9.6
plotly==4.14.1
ply==3.10
preshed==2.0.1
prompt-toolkit==1.0.15
protobuf==3.7.1
psutil==5.4.0
ptyprocess==0.5.2
py==1.4.34
pyasn1==0.4.5
pyasn1-modules==0.2.4
pycodestyle==2.3.1
pycosat==0.6.2
pycparser==2.18
pycrypto==2.6.1
pycurl==7.43.0
pydbus==0.6.0
PyDispatcher==2.0.5
pyflakes==1.6.0
Pygments==2.2.0
PyHamcrest==1.9.0
pylint==1.7.4
pymorphy2==0.8
pymorphy2-dicts==2.4.393442.3710985
pymorphy2-dicts-ru==2.4.404381.4453942
PyNaCl==1.3.0
pync==2.0.3
pyodbc==4.0.17
pyOpenSSL==18.0.0
pypandoc==1.4
pyparsing==2.2.0
pysftp==0.2.9
PySocks==1.6.7
pyTelegramBotAPI==3.5.2
pytest==3.2.1
python-dateutil==2.6.1
python-engineio==3.13.2
python-socketio==4.6.0
pytz==2017.2
PyWavelets==0.5.2
PyYAML==3.12
pyzmq==16.0.2
QtAwesome==0.4.4
qtconsole==4.3.1
QtPy==1.3.1
Quandl==3.4.8
queuelib==1.5.0
rake-nltk==1.0.4
readline==6.2.4.1
regex==2018.1.10
requests==2.22.0
requests-cache==0.5.2
retrying==1.3.3
rope==0.10.5
ruamel-yaml==0.11.14
rusenttokenize==0.0.4
s3transfer==0.2.1
schedule==0.6.0
scikit-image==0.13.0
scikit-learn==0.19.1
scipy==1.1.0
Scrapy==1.6.0
seaborn==0.8
service-identity==18.1.0
simplegeneric==0.8.1
singledispatch==3.4.0.3
six==1.12.0
smart-open==3.0.0
snowballstemmer==1.2.1
sortedcollections==0.5.3
sortedcontainers==1.5.7
spacy==2.0.18
Sphinx==1.6.3
sphinxcontrib-websupport==1.0.1
spyder==3.2.4
SQLAlchemy==1.1.13
statsmodels==0.8.0
striprtf==0.0.11
summa==1.2.0
sympy==1.1.1
tables==3.4.2
tblib==1.3.2
terminado==0.6
testpath==0.3.1
textdistance==4.2.0
thinc==6.12.1
toolz==0.8.2
tornado==4.5.2
tqdm==4.23.4
traitlets==4.3.2
Twisted==18.9.0
typing==3.6.2
ujson==1.35
unicodecsv==0.14.1
urllib3==1.25.7
w3lib==1.20.0
wcwidth==0.1.7
webencodings==0.5.1
Werkzeug==0.14.1
widgetsnbextension==3.0.2
wrapt==1.10.11
WTForms==2.3.1
xlrd==1.1.0
XlsxWriter==1.0.2
xlwt==1.3.0
yattag==1.11.1
youtube-dl==2019.11.5
zict==0.1.3
zipp==3.4.0
zope.interface==4.6.0

View File

@ -7,7 +7,7 @@ from flask import send_from_directory
import hashlib, funcy, platform, requests import hashlib, funcy, platform, requests
from datetime import datetime from datetime import datetime
from orgpython import to_html #from orgpython import to_html
from localcache import sqlite_file, db # personnel_meta # personnel_fetch from localcache import sqlite_file, db # personnel_meta # personnel_fetch
from localcache import user_enrolled_in from localcache import user_enrolled_in
@ -253,10 +253,10 @@ def writing(fname):
if ext == "md": if ext == "md":
src = inp.read() src = inp.read()
return style + markdown.markdown(src) + in_form(editor(src),fname) return style + markdown.markdown(src) + in_form(editor(src),fname)
if ext == "org": #if ext == "org":
src = inp.read() # src = inp.read()
return to_html(src, toc=True, offset=0, highlight=True) # return (src, toc=True, offset=0, highlight=True)
if ext == "rtf": if ext == "rtto_htmlf":
text = "<br />\n".join( rtf_to_text(inp.read()).split('\n') ) text = "<br />\n".join( rtf_to_text(inp.read()).split('\n') )
return style + text return style + text
if ext == "docx": if ext == "docx":

View File

@ -15,7 +15,7 @@
import pysftp, os, datetime, requests, re, json, sqlite3, codecs, csv, sys import pysftp, os, datetime, requests, re, json, sqlite3, codecs, csv, sys
import funcy, os.path, shutil, urllib import funcy, os.path, shutil, urllib
from datetime import datetime, strptime from datetime import datetime
from collections import defaultdict from collections import defaultdict
#from datetime import strptime #from datetime import strptime
from time import mktime from time import mktime
@ -521,8 +521,8 @@ def course_2060_dates(crn=""):
print ( 'I couldn\'t find that CRN in ' + schedfile ) print ( 'I couldn\'t find that CRN in ' + schedfile )
else: else:
a = s['date'].split(' - ') a = s['date'].split(' - ')
beginT = strptime(a[0],"%b %d, %Y") beginT = datetime.strptime(a[0],"%b %d, %Y")
endT = strptime(a[1],"%b %d, %Y") endT = datetime.strptime(a[1],"%b %d, %Y")
# Begin and end dates - direct from schedule # Begin and end dates - direct from schedule
# Calculate 20% / 60% dates. # Calculate 20% / 60% dates.
@ -587,7 +587,7 @@ def hours_calc_pulldata(course_id=''):
if results: if results:
for hit in results: for hit in results:
hitT = strptime(str(hit['created_at']),"%Y-%m-%dT%H:%M:%SZ") hitT = datetime.strptime(str(hit['created_at']),"%Y-%m-%dT%H:%M:%SZ")
hittime = datetime.datetime.fromtimestamp( mktime(hitT) ) hittime = datetime.datetime.fromtimestamp( mktime(hitT) )
if hittime > endDT: bag[4] += 1 if hittime > endDT: bag[4] += 1