~justinmcp/unity-webapps-wordpress/fix-module-imports

55 by Alexandre Abreu
Add session migration script & desktop file for StartupWMClass
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 = 'wordpresswordpresscom'
9
10
def get_local_applications_path():
11
    return os.path.join(glib.get_user_data_dir(), 'applications')
12
13
def update_desktop_file_startupwmclass():
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
        start_idx = desktop_file_content.find('[Desktop Entry]')
25
        if start_idx != -1 and desktop_file_content.find('StartupWMClass') == -1:
26
            start_idx += len('[Desktop Entry]')
27
            updated_desktop_file_content = desktop_file_content[:start_idx] + '\nStartupWMClass={0}'.format(APP_ID) + desktop_file_content[start_idx:]
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_startupwmclass()
34