Beispiel #1
0
def copy_docs_to_workspace(serialno=None,
                           workspace=None,
                           clearws=False,
                           setwsno=True,
                           fs=None,
                           session=None):
    if serialno is None:
        raise AttributeError('serialno cannot be None')
    if fs is None:
        fs = workspace_fs
    if workspace is None:
        workspace = fs.makeopendir('workspace', recursive=True)
    elif workspace.startswith('/'):
        raise ValueError('workspace should be a relative path')
    else:
        workspace = fs.makeopendir(workspace, recursive=True)
    if clearws is True:
        for p in workspace.listdir(dirs_only=True):
            workspace.removedir(p, force=True)
        for p in workspace.listdir(files_only=True):
            workspace.remove(p)
    if setwsno is True:
        with workspace.open('wsno', 'wb') as f:
            f.write(serialno)
    for doc in controller.get_sno_documents(serialno=serialno,
                                            session=session):
        docname = os.path.split(doc.docpath)[1]
        if docname.startswith(serialno):
            if not os.path.splitext(docname)[0] == serialno:
                docname = docname[len(serialno) + 1:]
        copyfile(docstore_fs, doc.docpath, workspace, docname)
Beispiel #2
0
def list_sno_documents(serialno=None, session=None):
    if serialno is None:
        raise AttributeError("sno cannot be None")
    results = controller.get_sno_documents(serialno=serialno, session=session)
    print("Documents for Serial No. : " + serialno)
    for result in results:
        print result
Beispiel #3
0
def copy_docs_to_workspace(serialno=None, workspace=None, clearws=False, setwsno=True, fs=None, session=None):
    if serialno is None:
        raise AttributeError("serialno cannot be None")
    if fs is None:
        fs = workspace_fs
    if workspace is None:
        workspace = fs.makeopendir("workspace", recursive=True)
    elif workspace.startswith("/"):
        raise ValueError("workspace should be a relative path")
    else:
        workspace = fs.makeopendir(workspace, recursive=True)
    if clearws is True:
        for p in workspace.listdir(dirs_only=True):
            workspace.removedir(p, force=True)
        for p in workspace.listdir(files_only=True):
            workspace.remove(p)
    if setwsno is True:
        with workspace.open("wsno", "wb") as f:
            f.write(serialno)
    for doc in controller.get_sno_documents(serialno=serialno, session=session):
        docname = os.path.split(doc.docpath)[1]
        if docname.startswith(serialno):
            if not os.path.splitext(docname)[0] == serialno:
                docname = docname[len(serialno) + 1 :]
        copyfile(docstore_fs, doc.docpath, workspace, docname)
Beispiel #4
0
def list_sno_documents(serialno=None, session=None):
    if serialno is None:
        raise AttributeError("sno cannot be None")
    results = controller.get_sno_documents(serialno=serialno, session=session)
    print ("Documents for Serial No. : " + serialno)
    for result in results:
        print result
Beispiel #5
0
def get_docs_list_for_serialno(serialno):
    # TODO This function can be deprecated
    documents = controller.get_sno_documents(serialno=serialno)
    rval = []
    for document in documents:
        rval.append(
            ExposedDocument(document.doctype, document.docpath, docstore_fs,
                            document.created_at, document.efield))
    return rval
Beispiel #6
0
def get_docs_list_for_serialno(serialno):
    # TODO This function can be deprecated
    documents = controller.get_sno_documents(serialno=serialno)
    rval = []
    for document in documents:
        rval.append(
            ExposedDocument(document.doctype, document.docpath, docstore_fs, document.created_at, document.efield)
        )
    return rval