- ๐ญ In my free time Iโm currently working on our Whist Game
segelzwerg / familyfoto Goto Github PK
View Code? Open in Web Editor NEWA self hosting photo sharing server.
A self hosting photo sharing server.
These tests run multiple times. It would be best to move them to a separate test case which is not inherited. So the number of total tests run while decrease.
This is important as for now we only can one test at a time.
This is should not be a list as it is difficult to style it with css. It should be a natural check box.
The docker-compose file are doing the same but only using different images for the web services.
It would be ideal to have only one file which handles architecture by parameter.
images
- ab
- ab67df90ca173720982
- file (<- file with hash ab67df90ca173720982)
- thumb (<- thumbnail of file)
- f9
- f967df90ca173720982
- file (<- another file with hash f967df90ca173720982)
- thumb (<- thumbnail of above file)
proposed by @iTitus
FamilyFoto/family_foto/models/user.py
Line 17 in 44ae976
This should not be relevant to compare two user instances. Look here for reference: https://lgtm.com/help/lgtm/alert-suppression#python
Can be done by PR directly to master.
When starting the app from docker-compose
the /metrics
route is not found, but it works by starting the server with flask production locally.
currently working on it in #72
FamilyFoto/family_foto/models/video.py
Line 52 in 40c16dc
Currently, media files could be uploaded twice. This should at least warn the user and should ask for confirmation.
We should implement a queue that provides a list of new photos uploaded from different devices. This would allow automatic download to mobile devices.
A request from a device should contain some sort of timestamp and the return will all changes since that. However, this should not be a timestamp in the common sense but some incremental status code. So a new device could always request with 0
and will receive all changes as in it will get all current photos.
Check that a user can not log in twice and if a different user is already logged in you can not log in.
In production
family-foto | Traceback (most recent call last):
family-foto | File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 2447, in wsgi_app
family-foto | response = self.full_dispatch_request()
family-foto | File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1952, in full_dispatch_request
family-foto | rv = self.handle_user_exception(e)
family-foto | File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1821, in handle_user_exception
family-foto | reraise(exc_type, exc_value, tb)
family-foto | File "/usr/local/lib/python3.9/site-packages/flask/_compat.py", line 39, in reraise
family-foto | raise value
family-foto | File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1950, in full_dispatch_request
family-foto | rv = self.dispatch_request()
family-foto | File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1936, in dispatch_request
family-foto | return self.view_functions[rule.endpoint](**req.view_args)
family-foto | File "/usr/local/lib/python3.9/site-packages/prometheus_flask_exporter/__init__.py", line 686, in func
family-foto | return current_app.handle_user_exception(ex)
family-foto | File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1821, in handle_user_exception
family-foto | reraise(exc_type, exc_value, tb)
family-foto | File "/usr/local/lib/python3.9/site-packages/flask/_compat.py", line 39, in reraise
family-foto | raise value
family-foto | File "/usr/local/lib/python3.9/site-packages/prometheus_flask_exporter/__init__.py", line 684, in func
family-foto | raise exception
family-foto | File "/usr/local/lib/python3.9/site-packages/prometheus_flask_exporter/__init__.py", line 642, in func
family-foto | response = current_app.handle_user_exception(ex)
family-foto | File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1821, in handle_user_exception
family-foto | reraise(exc_type, exc_value, tb)
family-foto | File "/usr/local/lib/python3.9/site-packages/flask/_compat.py", line 39, in reraise
family-foto | raise value
family-foto | File "/usr/local/lib/python3.9/site-packages/prometheus_flask_exporter/__init__.py", line 639, in func
family-foto | response = f(*args, **kwargs)
family-foto | File "/app/family_foto/utils/protected.py", line 54, in is_active_wrapper
family-foto | return func(*args, **kwargs)
family-foto | File "/usr/local/lib/python3.9/site-packages/flask_login/utils.py", line 272, in decorated_view
family-foto | return func(*args, **kwargs)
family-foto | File "/app/family_foto/web.py", line 215, in gallery
family-foto | thumbnails = [ThumbnailService.generate(file, 200, 200) for file in user_media]
family-foto | File "/app/family_foto/web.py", line 215, in <listcomp>
family-foto | thumbnails = [ThumbnailService.generate(file, 200, 200) for file in user_media]
family-foto | File "/app/family_foto/utils/thumbnail_service.py", line 32, in generate
family-foto | path = ThumbnailService.video_thumbnail(file, height, width)
family-foto | File "/app/family_foto/utils/thumbnail_service.py", line 57, in video_thumbnail
family-foto | frame = random.randint(0, file.frame_count)
family-foto | File "/app/family_foto/models/video.py", line 44, in frame_count
family-foto | streams: list[dict] = self.meta['streams']
family-foto | File "/app/family_foto/models/video.py", line 56, in meta
family-foto | return ffmpeg.probe(self.abs_path)
family-foto | File "/usr/local/lib/python3.9/site-packages/ffmpeg/_probe.py", line 20, in probe
family-foto | p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
family-foto | File "/usr/local/lib/python3.9/subprocess.py", line 947, in __init__
family-foto | self._execute_child(args, executable, preexec_fn, close_fds,
family-foto | File "/usr/local/lib/python3.9/subprocess.py", line 1819, in _execute_child
family-foto | raise child_exception_type(errno_num, err_msg, err_filename)
family-foto | FileNotFoundError: [Errno 2] No such file or directory: 'ffprobe'
it always returns New passwords does not match.
Should return a specific media file and it's metadata if the user has permission and they's auth token is valid.
The admin must approve new guest user before access is granted.
Line 50 in 0ade9d7
idea by @iTitus
This should have the same functionality as /upload
but should not return a template but an HTTP status.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.