Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

After trying to sync my tasks from the online Nitro client (on Ubuntu One), my local client ceased to work (blank window freezes on "loading..." when program is run).

I'm trying to access the tasks list files to recover all the tasks I had so that I can install the application anew. They should be in a /home/.nitro directory but there is no such folder...

Could anyone help me find these files/database ?? I had many tasks there and I do not want to lose them...

P.S. The errors I get when trying to run Nitro from a terminal is:

/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:391: Warning: g_object_set_property: construct property "type" for object `Window' can't be set after construction
Gtk.Window.__init__(self, type=type, **kwds)
/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:391: Warning: g_object_set_property: construct property "type" for object `NitrotasksWindow' can't be set after construction
Gtk.Window.__init__(self, type=type, **kwds)
** Message: console message: undefined @0: SyntaxError: JSON Parse error: Unexpected identifier "undefined"
** Message: console message: undefined @0: TypeError: 'undefined' is not an object

Although my question is not about fixing the bug, any help is also appreciated!

share|improve this question
add comment

2 Answers

Looks like Nitro is built on top of the web-technologies like Javascript and CSS. On examining the file present in

/opt/nitro/share/pyshared/nitrotasks

NitroTasksWindow.py which imports web-browser, pickle modules and so the data might be stored as a pkl format or else it could be stored as a cookie which is accessible only via the Nitro App it seems. Though I am not sure.

My instincts are from the following lines in that python file

Line 42 storage_file = open(home + '/.nitrodata.pkl', 'r')

Line 43 localstorage = pickle.load(storage_file)

Line 47 localstorage = {'tasks': '(null)', 'lists': '(null)', 'prefs': '(null)'} which is actually a dictionary type.

Line 139 - 143 is how the data is being retrieved from the Disk as the comment in Line 139 itself says.

#Gets Data from Disk
            if title[0] == 'get':
                scriptbody = localstorage[title[1]]
                script = "xcode = '" + scriptbody + "'"
                self.webview.execute_script(script)

I am not so good at handling URL's, so if you are able to construct URL by examining what it does and pass it to any browser and then inspect the element, you may get from where it does or you may get the raw data.

share|improve this answer
add comment

It's stored in ~/.local/webkit/databases/file__0.localstorage. Easiest way to fix it would be to delete that file and resync from Ubuntu One.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.