Comment 15 for bug 666608

TJ (tj) wrote :

I'm not up to speed with the code as yet but I've found the crux of the issue.

Firstly, I copied from /etc/xdg/ubuntuone/ to ~/.config/ubuntuone/ the files syncdaemon.conf and logging.conf.

syncdaemon contains a __main__ section and is about 3.6KB.

Next I executed /usr/bin/ubuntuone-preferences whilst watching the ~/.config/ubuntuone/ directory.

The dialog successfully opens and show my Ubuntu One account details.

I noticed that the syncdaemon.conf file had changed length to 78 bytes.

Checking I see that the __main__ section is missing.

I investigated the source code in /usr/lib/python2.6/dist-packages/ubuntuone/syncdaemon/config.py

This code seems to be responsible for deleting the section before re-writing the configuration file:

    def save(self):
        """Save the config object to disk"""
        # cleanup empty sections
        for section in [MAIN, THROTTLING]:
            if self.has_section(section) and not self.options(section):
                self.remove_section(section)
        with open(self.config_file+'.new', 'w') as fp:
            self.write(fp)

I'm not clear on how the self.options("__main__") test is supposed to work here but it seems to be cause of the issue.