~webapps/unity-webapps-pandora/trunk

« back to all changes in this revision

Viewing changes to scripts/update-desktop-file-exec-line.py

  • Committer: Alexandre Abreu
  • Date: 2013-09-16 20:05:05 UTC
  • Revision ID: alexandre.abreu@canonical.com-20130916200505-3dx0bnlzes403fck
revert migration

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/usr/bin/python
2
 
from gi.repository import Gio
3
 
import os
4
 
import glib
5
 
import glob
6
 
import re
7
 
 
8
 
APP_ID = 'pandorapandoracom'
9
 
 
10
 
def get_local_applications_path():
11
 
    return os.path.join(glib.get_user_data_dir(), 'applications')
12
 
 
13
 
def update_desktop_file_exec_line():
14
 
    local_applications_path = get_local_applications_path()
15
 
    if not os.path.exists(local_applications_path) or not os.path.isdir(local_applications_path):
16
 
        return
17
 
 
18
 
    desktop_filename = os.path.join(local_applications_path, '{0}.desktop'.format(APP_ID))
19
 
    if not os.path.exists(desktop_filename) or not os.path.isfile(desktop_filename):
20
 
        return
21
 
 
22
 
    try:
23
 
        desktop_file_content = open(desktop_filename).read()
24
 
        if desktop_file_content.find('unity-webapps-runner') != -1:
25
 
            updated_desktop_file_content = re.sub(r"Exec\s*=\s*unity-webapps-runner\s*-n\s*'([^\s]*)'.*%u",
26
 
                                                  r"Exec=webbrowser-app --chromeless --webapp='\1' --app-id='{0}'".format(APP_ID),
27
 
                                                  desktop_file_content)
28
 
            open(desktop_filename, "w+").write(updated_desktop_file_content)
29
 
    except Exception, e:
30
 
        print 'Error while upgrading the desktop file: ', str(e)
31
 
 
32
 
if __name__ == "__main__":
33
 
    update_desktop_file_exec_line()
34