Add a few docstrings and update readme to-do list.
This commit is contained in:
parent
8f000543ea
commit
74f4e74bdf
3 changed files with 18 additions and 0 deletions
|
@ -50,6 +50,7 @@ If you are interested in helping, please raise an issue before making any pull r
|
||||||
- Make the FFmpeg path configurable. Some kind of global config? Or part of the database config file? It's not like every photodb needs a separate one.
|
- Make the FFmpeg path configurable. Some kind of global config? Or part of the database config file? It's not like every photodb needs a separate one.
|
||||||
- Improve the appearance of album page. Too many section headers and the "Create album" interface should allow giving a title immediately.
|
- Improve the appearance of album page. Too many section headers and the "Create album" interface should allow giving a title immediately.
|
||||||
- When users have '%' or '#', etc. in their username, it is difficult to access their /user/ URL. I would prefer to fix it without simply blacklisting those characters.
|
- When users have '%' or '#', etc. in their username, it is difficult to access their /user/ URL. I would prefer to fix it without simply blacklisting those characters.
|
||||||
|
- Currently, the Jinja templates are having a tangling influence on the backend objects, because Jinja cannot import my other modules like bytestring, but it can access the methods of the objects I pass into the template. As a result, the objects have excess helper methods. Consider making them into Jinja filters instead. Which is also kind of ugly but will move that pollution out of the backend at least.
|
||||||
|
|
||||||
### To do list: User permissions
|
### To do list: User permissions
|
||||||
Here are some thoughts about the kinds of features that need to exist within the permission system. I don't know how I'll actually manage it just yet. Possibly a `permissions` table in the database with `user_id | permission` where `permission` is some reliably-formatted string.
|
Here are some thoughts about the kinds of features that need to exist within the permission system. I don't know how I'll actually manage it just yet. Possibly a `permissions` table in the database with `user_id | permission` where `permission` is some reliably-formatted string.
|
||||||
|
|
|
@ -12,6 +12,13 @@ def pascal_to_loudsnakes(text):
|
||||||
|
|
||||||
class ErrorTypeAdder(type):
|
class ErrorTypeAdder(type):
|
||||||
'''
|
'''
|
||||||
|
During definition, the Exception class will automatically receive a class
|
||||||
|
attribute called `error_type` which is just the class's name as a string
|
||||||
|
in the loudsnake casing style. NoSuchPhoto -> NO_SUCH_PHOTO.
|
||||||
|
|
||||||
|
This is used for serialization of the exception object and should
|
||||||
|
basically act as a status code when displaying the error to the user.
|
||||||
|
|
||||||
Thanks Unutbu
|
Thanks Unutbu
|
||||||
http://stackoverflow.com/a/18126678
|
http://stackoverflow.com/a/18126678
|
||||||
'''
|
'''
|
||||||
|
@ -20,6 +27,12 @@ class ErrorTypeAdder(type):
|
||||||
cls.error_type = pascal_to_loudsnakes(name)
|
cls.error_type = pascal_to_loudsnakes(name)
|
||||||
|
|
||||||
class EtiquetteException(Exception, metaclass=ErrorTypeAdder):
|
class EtiquetteException(Exception, metaclass=ErrorTypeAdder):
|
||||||
|
'''
|
||||||
|
Base type for all of the Etiquette exceptions.
|
||||||
|
Subtypes should have a class attribute `error_message`. The error message
|
||||||
|
may contain {format} strings which will be formatted using the
|
||||||
|
Exception's constructor arguments.
|
||||||
|
'''
|
||||||
error_message = ''
|
error_message = ''
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
self.given_args = args
|
self.given_args = args
|
||||||
|
|
|
@ -325,6 +325,7 @@ class Album(ObjectBase, GroupableMixin):
|
||||||
photos = self.walk_photos()
|
photos = self.walk_photos()
|
||||||
else:
|
else:
|
||||||
photos = self.photos()
|
photos = self.photos()
|
||||||
|
|
||||||
for photo in photos:
|
for photo in photos:
|
||||||
photo.add_tag(tag, commit=False)
|
photo.add_tag(tag, commit=False)
|
||||||
|
|
||||||
|
@ -499,6 +500,9 @@ class Bookmark(ObjectBase):
|
||||||
@decorators.required_feature('bookmark.edit')
|
@decorators.required_feature('bookmark.edit')
|
||||||
@decorators.transaction
|
@decorators.transaction
|
||||||
def edit(self, title=None, url=None, *, commit=True):
|
def edit(self, title=None, url=None, *, commit=True):
|
||||||
|
'''
|
||||||
|
Change the title or URL. Leave None to keep current.
|
||||||
|
'''
|
||||||
if title is None and url is None:
|
if title is None and url is None:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue