changes to make imports easier, refresh requirements.txt
This commit is contained in:
parent
38985af6aa
commit
9bbf91a5ee
|
|
@ -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()
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
14
pipelines.py
14
pipelines.py
|
|
@ -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()
|
||||||
|
|
|
||||||
432
requirements.txt
432
requirements.txt
|
|
@ -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
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
10
server.py
10
server.py
|
|
@ -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":
|
||||||
|
|
|
||||||
8
tasks.py
8
tasks.py
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue