コード例 #1
0
ファイル: folder.py プロジェクト: diesseits/Pieberry2
 def set_path(self, path):
     # if not os.path.isdir(path):
     #     raise ValueError, "Not a valid folder"
     # ^^ actually, non-existent directories should be ok
     for key, pdir in ROOT_MAP.items():
         if path[:len(pdir)] == pdir:
             fdroot = key
             self.Root = key
             self.SubFolders=[i for i in path[len(pdir):].split(os.sep) if i]
     if self.SubFolders: 
         self.EndName = self.SubFolders[-1]
     else:
         self.EndName = [ a for a in ROOT_MAP[self.Root].split(os.sep) if len(a) > 0 ][-1]
     if not fdroot: raise Exception, 'Folder outside pieberry domain'
     self.initialised = 1
     print 'initialised:', self
コード例 #2
0
ファイル: folder.py プロジェクト: diesseits/Pieberry2
 def set_path(self, path):
     # if not os.path.isdir(path):
     #     raise ValueError, "Not a valid folder"
     # ^^ actually, non-existent directories should be ok
     for key, pdir in ROOT_MAP.items():
         if path[:len(pdir)] == pdir:
             fdroot = key
             self.Root = key
             self.SubFolders = [
                 i for i in path[len(pdir):].split(os.sep) if i
             ]
     if self.SubFolders:
         self.EndName = self.SubFolders[-1]
     else:
         self.EndName = [
             a for a in ROOT_MAP[self.Root].split(os.sep) if len(a) > 0
         ][-1]
     if not fdroot: raise Exception, 'Folder outside pieberry domain'
     self.initialised = 1
     print 'initialised:', self
コード例 #3
0
ファイル: __init__.py プロジェクト: diesseits/Pieberry2
 def set_file(self, loc, sqsess=session):
     '''Set all kinds of data associated with this being a local file.
     Should have full absolute path given to it.'''
     if not os.path.exists(loc):
         raise IOError, 'Trying to set file data for non existant file'
     self.FileData_FileName = os.path.basename(loc)
     self.FileData_Size = os.stat(loc).st_size
     if not self.FileData_DateModified:
         # don't override mod_date that might come from metadata
         self.FileData_DateModified = datetime.datetime.fromtimestamp(
             os.stat(loc)[8])
     diry = os.path.dirname(loc)
     fdroot = None
     for key, pdir in ROOT_MAP.items():
         # print 'Testing if', diry[:len(pdir)], '==', pdir
         if diry[:len(pdir)] == pdir:
             fdroot = key
             self.FileData_Root = key
             self.FileData_Folder = diry[len(pdir):].split(os.sep)
             self.est_folder_rel(sqsess=sqsess)
             break
     if not fdroot: raise Exception, 'File stored outside pieberry domain'
     print "DONE", self.FileData_Root, self.FileData_FileName
コード例 #4
0
ファイル: __init__.py プロジェクト: diesseits/Pieberry2
 def set_file(self, loc, sqsess=session):
     '''Set all kinds of data associated with this being a local file.
     Should have full absolute path given to it.'''
     if not os.path.exists(loc):
         raise IOError, 'Trying to set file data for non existant file'
     self.FileData_FileName = os.path.basename(loc)
     self.FileData_Size = os.stat(loc).st_size
     if not self.FileData_DateModified:
         # don't override mod_date that might come from metadata
         self.FileData_DateModified = datetime.datetime.fromtimestamp(
             os.stat(loc)[8])
     diry = os.path.dirname(loc)
     fdroot = None
     for key, pdir in ROOT_MAP.items():
         # print 'Testing if', diry[:len(pdir)], '==', pdir
         if diry[:len(pdir)] == pdir:
             fdroot = key
             self.FileData_Root = key
             self.FileData_Folder = diry[len(pdir):].split(os.sep)
             self.est_folder_rel(sqsess=sqsess)
             break
     if not fdroot: raise Exception, 'File stored outside pieberry domain'
     print "DONE", self.FileData_Root, self.FileData_FileName
コード例 #5
0
ファイル: folder.py プロジェクト: diesseits/Pieberry2
from sqlalchemy import Column, Integer, String, DateTime, Unicode, PickleType
from sqlalchemy import and_
from ConfigParser import SafeConfigParser
from pieberry.piedb import SQLABase, session
from pieberry.pieconfig.paths import ROOT_MAP
from pieberry.pieconfig.globalvars import DEBUG
from pieberry.pieutility.decoding import *

global FOLDER_LOOKUP
FOLDER_LOOKUP = {}
SECURITY_CLASSES = (_("UNCLASSIFIED"), _("IN-CONFIDENCE"), _("RESTRICTED"),
                    _("PROTECTED"), _("CONFIDENTIAL"), _("HIGHLY-PROTECTED"),
                    _("SECRET"), _("TOP-SECRET"))
INFO_FNAME = '_Folder_Info.txt'

for key, val in ROOT_MAP.items():
    FOLDER_LOOKUP[key] = []


def recommend_folder(obj):
    fs = session.query(PieFolder).filter(PieFolder.Root == 'projectdir')
    f_cands = []
    for f in fs:
        score = 0
        for aterm in f.MatchTerms_Author:
            if aterm.lower() in obj.Author().lower():
                score += 1
        for tterm in f.MatchTerms_Title:
            if tterm.lower() in obj.Title().lower():
                score += 1
            if tterm.lower() in obj.FileData_FileName.lower():
コード例 #6
0
ファイル: folder.py プロジェクト: diesseits/Pieberry2
from pieberry.pieutility.decoding import *

global FOLDER_LOOKUP
FOLDER_LOOKUP = {}
SECURITY_CLASSES = (
    _("UNCLASSIFIED"),
    _("IN-CONFIDENCE"),
    _("RESTRICTED"),
    _("PROTECTED"),
    _("CONFIDENTIAL"),
    _("HIGHLY-PROTECTED"),
    _("SECRET"),
    _("TOP-SECRET"))
INFO_FNAME = '_Folder_Info.txt'

for key, val in ROOT_MAP.items():
    FOLDER_LOOKUP[key] = []

def recommend_folder(obj):
    fs = session.query(PieFolder).filter(PieFolder.Root == 'projectdir')
    f_cands = []
    for f in fs:
        score = 0
        for aterm in f.MatchTerms_Author:
            if aterm.lower() in obj.Author().lower():
                score += 1
        for tterm in f.MatchTerms_Title:
            if tterm.lower() in obj.Title().lower():
                score += 1
            if tterm.lower() in obj.FileData_FileName.lower():
                score += 1