예제 #1
0
    def ReadPrivateLog(self):

        # Read log file
        config = self.frame.np.config.sections
        log = os.path.join(config["logging"]["privatelogsdir"],
                           CleanFile(self.user.replace(os.sep, "-")) + ".log")

        try:
            numlines = int(config["logging"]["readprivatelines"])
        except Exception:
            numlines = 15

        try:
            with open(log, 'r') as lines:
                # Only show as many log lines as specified in config
                lines = deque(lines, numlines)

                for line in lines:
                    AppendLine(self.ChatScroll,
                               line,
                               self.tag_hilite,
                               timestamp_format="",
                               username=self.user,
                               usertag=self.tag_hilite)
        except IOError:
            pass

        GLib.idle_add(ScrollBottom, self.ChatScroll.get_parent())
예제 #2
0
    def OnSave(self, widget):

        configdir, config = os.path.split(self.frame.np.config.filename)
        sharesdir = os.path.abspath(configdir + os.sep + "usershares" + os.sep)

        try:
            if not os.path.exists(sharesdir):
                os.mkdir(sharesdir)
        except Exception as msg:
            error = _(
                "Can't create directory '%(folder)s', reported error: %(error)s"
                % {
                    'folder': sharesdir,
                    'error': msg
                })
            self.frame.logMessage(error)

        try:
            import pickle as mypickle
            import bz2
            sharesfile = bz2.BZ2File(
                os.path.join(sharesdir, CleanFile(self.user)), 'w')
            mypickle.dump(self.shares, sharesfile, mypickle.HIGHEST_PROTOCOL)
            sharesfile.close()
        except Exception as msg:
            error = _(
                "Can't save shares, '%(user)s', reported error: %(error)s" % {
                    'user': self.user,
                    'error': msg
                })
            self.frame.logMessage(error)
예제 #3
0
    def OnSave(self, widget):
        sharesdir = os.path.join(self.data_dir, "usershares")

        try:
            if not os.path.exists(sharesdir):
                os.mkdir(sharesdir)
        except Exception as msg:
            error = _(
                "Can't create directory '%(folder)s', reported error: %(error)s"
                % {
                    'folder': sharesdir,
                    'error': msg
                })
            self.frame.logMessage(error)

        try:
            import pickle as mypickle
            import bz2
            sharesfile = bz2.BZ2File(
                os.path.join(sharesdir, CleanFile(self.user)), 'w')
            mypickle.dump(self.shares,
                          sharesfile,
                          protocol=mypickle.HIGHEST_PROTOCOL)
            sharesfile.close()
        except Exception as msg:
            error = _(
                "Can't save shares, '%(user)s', reported error: %(error)s" % {
                    'user': self.user,
                    'error': msg
                })
            self.frame.logMessage(error)
예제 #4
0
 def OnSavePicture(self, widget):
     if self.image is None or self.image_pixbuf is None:
         return
     #pixbuf = self.image.get_pixbuf()
     filename = "%s %s.jpg" % (self.user,
                               time.strftime("%Y-%m-%d %H:%M:%S"))
     pathname = os.path.join(
         self.frame.np.config.sections["transfers"]["downloaddir"],
         CleanFile(filename))
     if not os.path.exists(pathname):
         self.image_pixbuf.save(pathname, "jpeg", {"quality": "100"})
         log.add(_("Picture saved to %s") % pathname)
     else:
         log.add(_("Picture not saved, %s already exists.") % pathname)
예제 #5
0
def WriteLog(logsdir, fn, msg):

    oldumask = os.umask(0o077)
    if not os.path.exists(logsdir):
        os.makedirs(logsdir)

    logfile = open(os.path.join(logsdir, CleanFile(fn.replace(os.sep, "-")) + ".log"), 'ab', 0)

    os.umask(oldumask)

    text = "%s %s\n" % (time.strftime(NICOTINE.np.config.sections["logging"]["log_timestamp"]), msg)

    logfile.write(text.encode('UTF-8', 'replace'))
    logfile.flush()
    logfile.close()
예제 #6
0
            if not os.path.exists(sharesdir):
                os.mkdir(sharesdir)
        except Exception, msg:
            error = _(
                "Can't create directory '%(folder)s', reported error: %(error)s"
                % {
                    'folder': sharesdir,
                    'error': msg
                })
            self.frame.logMessage(error)

        try:
            import cPickle as mypickle
            import bz2
            sharesfile = bz2.BZ2File(
                os.path.join(sharesdir, CleanFile(self.user)), 'w')
            mypickle.dump(self.shares, sharesfile, mypickle.HIGHEST_PROTOCOL)
            sharesfile.close()
        except Exception, msg:
            error = _(
                "Can't save shares, '%(user)s', reported error: %(error)s" % {
                    'user': self.user,
                    'error': msg
                })
            self.frame.logMessage(error)

    def ShowInfo(self, msg):
        self.conn = None
        self.MakeNewModel(msg.list)

    def LoadShares(self, list):