Esempio n. 1
0
 def test_ensure_file_writable_and_delete_if_not(self):
     # first test that a non-writable file (0400) is deleted
     test_file_not_writeable = NamedTemporaryFile()
     os.chmod(test_file_not_writeable.name, stat.S_IRUSR)
     self.assertFalse(os.access(test_file_not_writeable.name, os.W_OK))
     ensure_file_writable_and_delete_if_not(test_file_not_writeable.name)
     self.assertFalse(os.path.exists(test_file_not_writeable.name))
     # then test that a writable file (0600) is not deleted
     test_file_writeable = NamedTemporaryFile()
     os.chmod(test_file_writeable.name, stat.S_IRUSR | stat.S_IWUSR)
     self.assertTrue(os.access(test_file_writeable.name, os.W_OK))
     ensure_file_writable_and_delete_if_not(test_file_writeable.name)
     self.assertTrue(os.path.exists(test_file_writeable.name))
Esempio n. 2
0
 def test_ensure_file_writable_and_delete_if_not(self):
     # first test that a non-writable file (0400) is deleted
     test_file_not_writeable = NamedTemporaryFile()
     os.chmod(test_file_not_writeable.name, stat.S_IRUSR)
     self.assertFalse(os.access(test_file_not_writeable.name, os.W_OK))
     ensure_file_writable_and_delete_if_not(test_file_not_writeable.name)
     self.assertFalse(os.path.exists(test_file_not_writeable.name))
     # then test that a writable file (0600) is not deleted
     test_file_writeable = NamedTemporaryFile()
     os.chmod(test_file_writeable.name, stat.S_IRUSR | stat.S_IWUSR)
     self.assertTrue(os.access(test_file_writeable.name, os.W_OK))
     ensure_file_writable_and_delete_if_not(test_file_writeable.name)
     self.assertTrue(os.path.exists(test_file_writeable.name))
Esempio n. 3
0
handler.addFilter(NullFilterThatWarnsAboutRootLoggerUsage())

# create log file
safe_makedirs(softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR)

# try to fix inaccessible s-c directory (#688682)
if not os.access(softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR, os.W_OK):
    logging.warn("found not writable '%s' dir, trying to fix" %
                 softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR)
    # if we have to do more renames, something else is wrong and it's
    # ok to crash later to learn about the problem
    for i in range(10):
        target = "%s.%s" % (softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR, i)
        if not os.path.exists(target):
            softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR = target
            break
    safe_makedirs(softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR)

logfile_path = os.path.join(softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR,
                            "software-center.log")
# according to bug 688682 many people have a non-writeable logfile
ensure_file_writable_and_delete_if_not(logfile_path)

logfile_handler = logging.handlers.RotatingFileHandler(logfile_path,
                                                       maxBytes=100 * 1000,
                                                       backupCount=5)
logfile_handler.setLevel(logging.INFO)
logfile_handler.setFormatter(fmt)
root.addHandler(logfile_handler)
root.setLevel(logging.INFO)
Esempio n. 4
0
handler.addFilter(NullFilterThatWarnsAboutRootLoggerUsage())

# create log file
safe_makedirs(softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR)

# try to fix inaccessible s-c directory (#688682)
if not os.access(softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR, os.W_OK):
    logging.warn("found not writable '%s' dir, trying to fix" %
                 softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR)
    # if we have to do more renames, something else is wrong and it's
    # ok to crash later to learn about the problem
    for i in range(10):
        target = "%s.%s" % (softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR, i)
        if not os.path.exists(target):
            softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR = target
            break
    safe_makedirs(softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR)


logfile_path = os.path.join(softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR,
                            "software-center.log")
# according to bug 688682 many people have a non-writeable logfile
ensure_file_writable_and_delete_if_not(logfile_path)

logfile_handler = logging.handlers.RotatingFileHandler(
    logfile_path, maxBytes=100 * 1000, backupCount=5)
logfile_handler.setLevel(logging.INFO)
logfile_handler.setFormatter(fmt)
root.addHandler(logfile_handler)
root.setLevel(logging.INFO)