Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release Version 3 #13

Merged
merged 98 commits into from
Dec 12, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
ab1347d
start development of next version
N-Coder Jan 13, 2018
f490686
make partial constructors for async_cache wrapper classes
N-Coder Feb 9, 2018
612116d
failed Downloads are now be dropped from cache
N-Coder Feb 9, 2018
ae336fd
small fixes related to Downloads
N-Coder Feb 9, 2018
345318e
when retrying a failed Download, keep its succeeded ranges
N-Coder Feb 9, 2018
711d80f
fix hashing of VirtualPath
N-Coder Feb 10, 2018
a1dee04
small clean-ups
N-Coder Feb 10, 2018
92963f6
implement cache TTL and fallbacks
N-Coder Feb 10, 2018
7f76687
move global cache management to AsyncTaskCache class
N-Coder Feb 19, 2018
2a0c81d
improve handling of errors from FUSE operations
N-Coder Feb 22, 2018
f3a5c9c
include the python low-level (e.g. SEGFAULT) faulthandler
N-Coder Feb 22, 2018
888624c
introduce generic, extensible cache statistics
N-Coder Feb 22, 2018
60d6b06
small clean-ups on wrong *-exports and forgotten setup required packages
N-Coder Feb 23, 2018
5dff42b
manage model instance globally, allowing persisting all known model data
N-Coder Mar 4, 2018
f1c7ea4
unify creation of special RPC files, add files for model persistance
N-Coder Mar 4, 2018
0d497ff
restore cache of Session.get_* functions when importing model
N-Coder Mar 4, 2018
c1eba20
Windows and Mac OS compatibility
N-Coder Mar 6, 2018
8267b1e
clean-up, more verbose assertions
N-Coder Mar 11, 2018
dbe0f01
also persist cache data of model getters
N-Coder Mar 11, 2018
5cc3bf4
fixes for import_cache and clean-up of names in async_cache
N-Coder Mar 12, 2018
d188840
moved rpc methods from special files to HTTP API and added save_model…
N-Coder Mar 12, 2018
ad4d5ef
expose download / list_contents status through xattrs
N-Coder Mar 12, 2018
9fde9c5
add nautilus plugin for displaying download / list_contents status
N-Coder Mar 12, 2018
5f7b866
renamed http module to http_api and fixed naming collision
N-Coder Mar 14, 2018
5bc5af8
fixed make_key for Downloads
N-Coder Mar 14, 2018
d00896c
split / refactor AsyncTimedTaskCache for usage with ModelGetterCache
N-Coder Mar 14, 2018
6c20446
implement CircuitBreaker for gracefully handling network problems
N-Coder Mar 14, 2018
a9b7359
added TODOs
N-Coder Mar 14, 2018
c926866
added HTTP API function for model stats
N-Coder Mar 15, 2018
40b5ea8
fix various bugs related to download state and retrying / forking
N-Coder Mar 29, 2018
2c77732
used DeferredTask to persist caches in background after new data arrived
N-Coder Apr 9, 2018
e48373d
fixes to deferred background tasks
N-Coder Apr 9, 2018
101586c
disable logging for async_delay loggers
N-Coder Apr 9, 2018
3f026a7
TODO set timestamp for imported cache data
N-Coder Apr 9, 2018
1322afe
fixed file contents damaged on windows
N-Coder Apr 13, 2018
71253e1
adapted virtual path list_contents() logic to new Session API
N-Coder Apr 19, 2018
54d2500
complete rewrite of async cache implementation
N-Coder Apr 19, 2018
6ac2dc6
make CircuitBreakerOpenException an OSError
N-Coder Apr 19, 2018
3d5d4d3
pass context into various AsyncCache.__attempt_await_new_task callbacks
N-Coder Apr 20, 2018
24b9a52
create cache value when starting task and use is_valid to check outcome
N-Coder Apr 20, 2018
b722645
better handling of exception from Downloads
N-Coder Apr 20, 2018
a05090a
report non-accessible files through access flags
N-Coder Apr 20, 2018
70e9861
clean-up
N-Coder Apr 20, 2018
c017fff
use guess_errno_from_exception to translate errnos for FUSE
N-Coder Apr 20, 2018
b0db3ac
updated ToDos
N-Coder Apr 20, 2018
6655892
separate CacheValue is_valid / may_attempt / should_reattempt and Stu…
N-Coder Apr 24, 2018
b05184b
don't log OSErrors from FUSE operations which will be directly return…
N-Coder Apr 24, 2018
0d84508
don't reattempt a Download which was started successfully but has pen…
N-Coder Apr 24, 2018
b49b326
don't return cache value of invalid attempts
N-Coder Apr 24, 2018
8a72dae
fix missing arg from **context
N-Coder Apr 24, 2018
b254ee2
add missing dependency for async-timeout
N-Coder Apr 24, 2018
d311492
don't fork expired Downloads, but restart them / load from disk if st…
N-Coder Apr 25, 2018
bf5563e
don't propagate fallback value back to fresh value cache again
N-Coder Apr 25, 2018
2a0aa03
Mark all directories with search permission ('chmod +x')
n-st May 15, 2018
8164e18
Ignore implicit mount options
n-st May 15, 2018
5f254bd
Fixes #6
ThomasLeister May 7, 2018
b8fef10
log machine-readable status information
N-Coder May 25, 2018
58e55d2
started refactoring for studip-fuse version 3
N-Coder May 27, 2018
bbb0b32
bug fixes after refactoring
N-Coder May 29, 2018
bad37d1
added asyncified requests HTTP session
N-Coder May 29, 2018
0af62a6
fixed async generator in studip session
N-Coder May 29, 2018
cfa79b7
fixed URLs in studip session
N-Coder May 29, 2018
31fa110
reworked virtual_path list_contents logic
N-Coder May 29, 2018
1268355
added common, split and join path utility functions
N-Coder Jun 5, 2018
e7569b3
use pyrsistent to ensure immutability of json data dicts
N-Coder Jun 5, 2018
8b60a88
preprocess and enrich course and folder data returned from API
N-Coder Jun 5, 2018
fe099f8
VirtualPath validation improved, moved next segment preview to expand…
N-Coder Jun 5, 2018
154a341
add separate representation of file information to studip_path
N-Coder Jun 6, 2018
8736849
moved asyncio utils to own package
N-Coder Jun 23, 2018
7a0e6f8
move ThreadSafeDefaultDict
N-Coder Jun 23, 2018
c76db97
add functions for adding middleware decorators to Session/Path
N-Coder Jul 7, 2018
4905ba6
fix str value argument to encoding.escape_file_name
N-Coder Jul 7, 2018
cba12ae
add getxattr method
N-Coder Jul 7, 2018
a0b119d
refactor fuse ops to be a generic facade to async RealPath methods
N-Coder Jul 9, 2018
35078f1
bugfixes in fuse_ops
N-Coder Oct 23, 2018
5f752ef
update studip_path to handle new data structures delivered from API
N-Coder Oct 23, 2018
d98e49f
improved Async(Cached)HTTPSession shim for sync requests
N-Coder Oct 23, 2018
82d8205
fix default path to use currently available tags
N-Coder Oct 23, 2018
4941143
abstract asyncio implementations away [WIP]
N-Coder Nov 6, 2018
2bec969
fix type information in StudIPSession
N-Coder Nov 6, 2018
ffd3000
abstract StudIPSession / asyncio loop away from fuse_ops/FuseView
N-Coder Nov 6, 2018
1ea5d30
include python-fuse source to keep up to date with the dev version
N-Coder Nov 6, 2018
64e176a
implement startup via generic loop setup function, currently using as…
N-Coder Nov 7, 2018
fb6fef1
basic implementation of Download/FileStore to get working version
N-Coder Nov 7, 2018
901ffe8
tidied up aioimpl
N-Coder Nov 29, 2018
2e4e72d
added shibboleth authentication and fixed URL handling
N-Coder Nov 30, 2018
5a2ad3c
fixed async background downloading
N-Coder Nov 30, 2018
0c5d196
clean-up class hierarchy and middleware constructors
N-Coder Nov 30, 2018
88fd607
don't cache exceptions on get_json and cache RealPath.list_contents/r…
N-Coder Nov 30, 2018
9602cd2
more format fields and file (x)attrs
N-Coder Dec 1, 2018
7fbce2a
minor improvements to logging and validation
N-Coder Dec 1, 2018
1c5044a
reenable nautilus file labels
N-Coder Dec 1, 2018
43a9ed3
reenable nautilus file labels for folders
N-Coder Dec 1, 2018
64bb68b
allow selecting login method
N-Coder Dec 12, 2018
9524801
update TODOs and comments
N-Coder Dec 12, 2018
f37687c
clean-up logging and cmdline args
N-Coder Dec 12, 2018
4dbaaef
update dependencies
N-Coder Dec 12, 2018
6b91c31
release version 3
N-Coder Dec 12, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 30 additions & 11 deletions setup.py
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@
os.chdir(os.path.dirname(os.path.realpath(__file__)))

with open("studip_fuse/__init__.py", "r") as file:
version = re.search('^__version__\s*=\s*"(.*)"', file.read(), re.M).group(1)
contents = file.read()
version = re.search('^__version__\s*=\s*"(.*)"', contents, re.M).group(1)
author = re.search('^__author__\s*=\s*"(.*)"', contents, re.M).group(1)

with open("README.md", "rb") as f:
long_descr = f.read().decode("utf-8")
Expand All @@ -18,25 +20,42 @@
name="studip-fuse",
packages=find_packages(),
package_data={
'studip_fuse': ['__main__/logging.yaml'],
'studip_fuse': ['launcher/logging.yaml'],
},
install_requires=[
"studip-api", # ==" + version, # Version in dependency_links not detected correctly
"fusepy",
# "fusepy", # now included here

# Launcher Requirements
"argparse",
"appdirs",
"sh",
"pyyaml"
],
dependency_links=[
"git+https://github.com/N-Coder/studip-api#egg=studip-api" # -" + version
"pyyaml",

# AsyncIO Requirements
"asyncio",
"aiohttp",
"aiofiles",
"async-generator",
"async-lru",

# Utils
"attrs",
"cached_property",
"more_itertools",
"pyrsistent",
"tabulate",
"beautifulsoup4",
"lxml",
"yarl",
],
entry_points={
"console_scripts": ["studip-fuse = studip_fuse.__main__:main"]
"console_scripts": [
"studip-fuse = studip_fuse.launcher.main:main",
"studip-fuse-install-nautilus-plugin = studip_fuse.ext.nautilus_plugin:main",
]
},
version=version,
description="Python FUSE drive for courses and files available through the Stud.IP University Access Portal",
long_description=long_descr,
author="Simon Fink",
author=author,
url="https://github.com/N-Coder/studip-fuse"
)
4 changes: 2 additions & 2 deletions studip_fuse/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
__version__ = "2.2"
__author__ = "finksim"
__version__ = "3.0"
__author__ = "Niko Fink <studip-fuse@niko.fink.bayern>"
95 changes: 0 additions & 95 deletions studip_fuse/__main__/__init__.py

This file was deleted.

228 changes: 0 additions & 228 deletions studip_fuse/__main__/fs_driver.py

This file was deleted.

Loading