aboutsummaryrefslogtreecommitdiffstats
path: root/libbe/ui/base.py
diff options
context:
space:
mode:
Diffstat (limited to 'libbe/ui/base.py')
-rw-r--r--libbe/ui/base.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/libbe/ui/base.py b/libbe/ui/base.py
new file mode 100644
index 0000000..d26115f
--- /dev/null
+++ b/libbe/ui/base.py
@@ -0,0 +1,23 @@
+ def _setup_user_id(self, user_id):
+ if isinstance(self.storage, storage.vcs.base.VCS):
+ self.storage.user_id = user_id
+ def _guess_user_id(self):
+ if isinstance(self.storage, storage.vcs.base.VCS):
+ return self.storage.get_user_id()
+ def _set_user_id(self, old_user_id, new_user_id):
+ self._setup_user_id(new_user_id)
+ self._prop_save_settings(old_user_id, new_user_id)
+
+ @_versioned_property(name="user_id",
+ doc=
+"""The user's prefered name, e.g. 'John Doe <jdoe@example.com>'. Note
+that the Arch VCS backend *enforces* ids with this format.""",
+ change_hook=_set_user_id,
+ generator=_guess_user_id)
+ def user_id(): return {}
+
+ @_versioned_property(name="default_assignee",
+ doc=
+"""The default assignee for new bugs e.g. 'John Doe <jdoe@example.com>'.""")
+ def default_assignee(): return {}
+