Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/activity.py
diff options
context:
space:
mode:
Diffstat (limited to 'activity.py')
-rw-r--r--activity.py28
1 files changed, 23 insertions, 5 deletions
diff --git a/activity.py b/activity.py
index e40ead8..18cc31b 100644
--- a/activity.py
+++ b/activity.py
@@ -67,7 +67,7 @@ class JournalShare(activity.Activity):
# master is the activity in the activity who started the communication
self._master = False
- self._ip = '0.0.0.0'
+ self.ip = '0.0.0.0'
if not self.shared_activity:
# Get a free socket
@@ -183,7 +183,7 @@ class JournalShare(activity.Activity):
logging.error('temp_path %s', tmp_path)
packaged_file_path = utils.package_ds_object(
jobject, tmp_path)
- url = 'ws://%s:%d/websocket/upload' % (self._ip,
+ url = 'ws://%s:%d/websocket/upload' % (self.ip,
self.port)
uploader = utils.Uploader(packaged_file_path, url)
uploader.connect('uploaded', self.__uploaded_cb)
@@ -227,11 +227,11 @@ class JournalShare(activity.Activity):
assert isinstance(addr[0], str)
assert isinstance(addr[1], (int, long))
assert addr[1] > 0 and addr[1] < 65536
- self._ip = addr[0]
+ self.ip = addr[0]
self.port = int(addr[1])
self.view.load_uri('http://%s:%d/web/index.html' %
- (self._ip, self.port))
+ (self.ip, self.port))
return False
def _start_sharing(self):
@@ -423,6 +423,24 @@ class JournalManager(GObject.GObject):
logging.error('INFO %s', info)
return json.dumps(info)
+ def add_downloader(self, object_id, name, icon):
+ """
+ Add to the metadata downloaded_by field, the information
+ about who downloaded one object
+ """
+ dsobj = datastore.get(object_id)
+ downloaded_by = []
+ if 'downloaded_by' in dsobj.metadata:
+ downloaded_by = json.loads(dsobj.metadata['downloaded_by'])
+ # add the user data
+ user_data = {}
+ user_data['from'] = name
+ user_data['icon'] = icon
+ downloaded_by.append(user_data)
+ dsobj.metadata['downloaded_by'] = json.dumps(downloaded_by)
+ datastore.write(dsobj)
+ self._update_temporary_files()
+
def create_object(self, file_path, metadata, preview_content):
new_dsobject = datastore.create()
#Set the file_path in the datastore.
@@ -485,6 +503,6 @@ class JournalManager(GObject.GObject):
results.append({'title': str(title), 'desc': str(desc),
'comment': comment, 'id': str(object_id),
'shared_by': shared_by,
- 'downloaded-by': downloaded_by})
+ 'downloaded_by': downloaded_by})
logging.error(results)
return json.dumps(results)