Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xactivity/activity.info1
-rw-r--r--downloadmanager.py4
-rwxr-xr-xwebactivity.py42
3 files changed, 27 insertions, 20 deletions
diff --git a/activity/activity.info b/activity/activity.info
index ed86533..e8b964b 100755
--- a/activity/activity.info
+++ b/activity/activity.info
@@ -4,3 +4,4 @@ activity_version = 20
service_name = org.laptop.WebActivity
icon = activity-web
class = webactivity.WebActivity
+mime_types = image/png
diff --git a/downloadmanager.py b/downloadmanager.py
index d2bd03f..0451c77 100644
--- a/downloadmanager.py
+++ b/downloadmanager.py
@@ -94,7 +94,7 @@ class Download:
if self._mime_type == 'application/octet-stream':
sniffed_mime_type = objects.mime.get_for_file(self._target_file.path)
- self._dl_jobject.metadata['mime-type'] = sniffed_mime_type
+ self._dl_jobject.metadata['mime_type'] = sniffed_mime_type
datastore.write(self._dl_jobject)
@@ -134,7 +134,7 @@ class Download:
self._dl_jobject.metadata['buddies'] = ''
self._dl_jobject.metadata['preview'] = ''
self._dl_jobject.metadata['icon-color'] = profile.get_color().to_string()
- self._dl_jobject.metadata['mime-type'] = self._mime_type
+ self._dl_jobject.metadata['mime_type'] = self._mime_type
self._dl_jobject.file_path = ''
datastore.write(self._dl_jobject)
diff --git a/webactivity.py b/webactivity.py
index c8b2c89..5945353 100755
--- a/webactivity.py
+++ b/webactivity.py
@@ -74,24 +74,30 @@ class WebActivity(activity.Activity):
self.set_title(embed.props.title)
def read_file(self, file_path):
- f = open(file_path, 'r')
- try:
- session_data = f.read()
- finally:
- f.close()
- logging.debug('Trying to set session: %s.' % session_data)
- self._browser.set_session(session_data)
+ if self.metadata['mime_type'] == 'text/plain':
+ f = open(file_path, 'r')
+ try:
+ session_data = f.read()
+ finally:
+ f.close()
+ logging.debug('Trying to set session: %s.' % session_data)
+ self._browser.set_session(session_data)
+ else:
+ self._browser.load_uri(file_path)
def write_file(self, file_path):
- session_data = self._browser.get_session()
- if self._browser.props.title:
- self.metadata['preview'] = self._browser.props.title
- else:
- self.metadata['preview'] = ''
- self.metadata['icon'] = 'theme:object-link'
- f = open(file_path, 'w')
- try:
- f.write(session_data)
- finally:
- f.close()
+ if not self.metadata['mime_type']:
+ self.metadata['mime_type'] = 'text/plain'
+
+ if self.metadata['mime_type'] == 'text/plain':
+ session_data = self._browser.get_session()
+ if self._browser.props.title:
+ self.metadata['preview'] = self._browser.props.title
+ else:
+ self.metadata['preview'] = ''
+ f = open(file_path, 'w')
+ try:
+ f.write(session_data)
+ finally:
+ f.close()