Exemplo n.º 1
0
def bundle(dir):
    branch = Branch.open(dir)
    output_zip = '%s_%d.zip'%(dir, branch.revno())
    temp_dir = '/tmp/output_%d'%(branch.revno())

    #Empty the temp_dir
    shutil.rmtree(temp_dir, True)

    #export the bzr repository to temp_dir
    export(branch.basis_tree(), temp_dir)

    #Compile the source code in templocation
    compileall.compile_dir(temp_dir)

    #Remove the .py files from the exported directory.
    clean_path(temp_dir, [".py"])
    
    #create a HISTORY file in the temp_dir
    show_log(branch, ShortLogFormatter(open(temp_dir+os.sep+'HISTORY', 'w')))

    #create a VERSION file in temp_dir
    f = open(temp_dir+os.sep+'VERSION', 'w')
    f.write(str(branch.revno()))
    f.close()

    #write to zip
    z.toZip(temp_dir, output_zip)
Exemplo n.º 2
0
 def test_clean_path(self):
     '''test_clean_path will test the clean_path function
     '''
     print("Testing utils.clean_path...")
     from utils import clean_path
     ideal_path = '/home/vanessa/Desktop/stuff'
     self.assertEqual(clean_path('/home/vanessa/Desktop/stuff/'),ideal_path)
     self.assertEqual(clean_path('/home/vanessa/Desktop/stuff//'),ideal_path)
     self.assertEqual(clean_path('/home/vanessa//Desktop/stuff/'),ideal_path)
Exemplo n.º 3
0
def http_request_handler(request, config):
    if request.path[0] != '/':
        raise BadRequest()

    path = '%s/%s' % (config.root.rstrip('/'), utils.clean_path(request.path))
    if path.endswith('.j2'):
        raise FileNotFoundError()

    if os.path.isdir(path):
        if request.path[-1] != '/':
            return redirect(301, '%s/' % request.path)

        index_exts = config.get('index_exts', ['php', 'cgi', 'html', 'xml'])
        for ext in index_exts:
            index_file = '%s/index.%s' % (path, ext)
            if os.path.isfile(index_file):
                return FileResponse(index_file)

        for ext in index_exts:
            template_file = '%s/index.%s.j2' % (path, ext)
            if os.path.isfile(template_file):
                return TemplateResponse(template_file)

        raise PermissionError()
    elif os.path.isfile('%s.j2' % path):
        return TemplateResponse('%s.j2' % path)
    else:
        return FileResponse(path)
Exemplo n.º 4
0
    def index(self, request, path=None):
        """
            Show list of files in a url inside of the document root.
        """

        if request.method == 'POST':
            selection = request.POST.getlist('_selected_action')
            act = request.POST.get('action')
            if act and selection:
                response = self.actions[int(act)][0](self, request, path)
                if response:
                    return response

        url = utils.clean_path(path)
        directory = Dir(utils.url_to_path(url))

        sort_by = request.GET.get('s', 'n')
        sort_dir = request.GET.get('ot', 'asc')
        order = defaultdict(lambda : ['', '', 'asc'],
                {sort_by: ['sorted', sort_dir, sort_dir == 'asc' and 'desc' or 'asc']})
        key = ORDER_MAP.get(sort_by, None )
        if key:
            func = lambda el: getattr(el, key)
            files = sorted(directory.files, key=func, reverse=sort_dir == 'desc')
        else:
            directory.files.sort()
            files = directory.files

        return render_to_response("iadmin/fm/index.html", {'directory': directory,
                                                           'path': url,
                                                           'title' : 'FileManager',
                                                           'fmindex': reverse('%s:iadmin.fm.index' % self.name,
                                                                              kwargs={'path': ''}),
                                                           'order': order,
                                                           'filemanager' : self,
                                                           'files': files},
                                  context_instance=template.RequestContext(request))
Exemplo n.º 5
0
    def upload(self, request, path=None):
        """
            Upload a new file.
        """
        if not request.user.has_perm('iadmin.can_upload_file'):
            raise PermissionDenied

        from iadmin.plugins.fm.forms import UploadForm
        path = utils.url_to_path(path)
        base = Dir( path )

        url = utils.clean_path(path)

        if request.method == 'POST':
            form = UploadForm(base.absolute_path, data=request.POST, files=request.FILES)

            if form.is_valid():
                file_path = os.path.join(base.absolute_path, form.cleaned_data['file'].name)
                destination = open(file_path, 'wb+')
                for chunk in form.cleaned_data['file'].chunks():
                    destination.write(chunk)
                messages.info(request, '`%s` uploaded' % form.cleaned_data['file'].name)
                return redirect( base )
                #return redirect('admin:iadmin.fm.index', path=base.relative_path)

        else:
            form = UploadForm(base.absolute_path)

        return render_to_response("iadmin/fm/upload.html", template.RequestContext(request,
                {'form': form,
                 'directory': base,
                 'title' : 'FileManager',
                 'filemanager' : self,
                 'fmindex' : reverse('%s:iadmin.fm.index' % self.name, kwargs={'path': ''}),
                 'max_size' : utils.get_max_upload_size(), 
                 'url': url}))
Exemplo n.º 6
0
    parser.add_argument(
        '-s',
        '--stats',
        action='store_true',
        help="Whether to report statistics of the data. default: False")
    return parser


if __name__ == '__main__':
    parser = setup_parser()
    args = parser.parse_args()

    path = os.path.join("data", "raw", "all_characters")
    if args.crawl:
        dialogs = crawl.crawl_data()
        utils.clean_path(path)
        path = os.path.join(path, "all_characters.json")
        utils.save_all_characters(dialogs, path)
        """# Saving raw data"""
    """# Clean up data"""
    if args.process:
        """## Save Michael and Dwight dialogues"""
        dialogs = utils.load_all_characters()
        path = os.path.join("data", "raw", "michael_dwight_dialogues")
        utils.clean_path(path)
        characters = ['michael', 'dwight']
        dialogs = {character: dialogs[character] for character in characters}
        print(len(dialogs['michael']), len(dialogs['dwight']))
        utils.save_characters_raw(dialogs)

        dialogs, _ = utils.load_cleaned(path)