def do_upload(self, request, translation_project, directory): if self.form.is_valid() and 'file' in request.FILES: django_file = self.form.cleaned_data['file'] overwrite = self.form.cleaned_data['overwrite'] scan_translation_project_files(translation_project) oldstats = translation_project.getquickstats() # The URL relative to the URL of the translation project. Thus, if # directory.pootle_path == /af/pootle/foo/bar, then # relative_root_dir == foo/bar. if django_file.name.endswith('.zip'): archive = True upload_archive(request, directory, django_file, overwrite) else: archive = False upload_file(request, directory, django_file, overwrite) scan_translation_project_files(translation_project) newstats = translation_project.getquickstats() # create a submission, doesn't fix stats but at least # shows up in last activity column s = Submission(creation_time=datetime.datetime.utcnow(), translation_project=translation_project, submitter=get_profile(request.user)) s.save() post_file_upload.send(sender=translation_project, user=request.user, oldstats=oldstats, newstats=newstats, archive=archive) return {'upload': self}
def _handle_upload_form(request, translation_project): """Process the upload form in TP overview.""" from pootle_app.models.signals import post_file_upload upload_form_class = upload_form_factory(request) if request.method == 'POST' and 'file' in request.FILES: upload_form = upload_form_class(request.POST, request.FILES) if not upload_form.is_valid(): return upload_form else: django_file = upload_form.cleaned_data['file'] overwrite = upload_form.cleaned_data['overwrite'] upload_to = upload_form.cleaned_data['upload_to'] upload_to_dir = upload_form.cleaned_data['upload_to_dir'] # XXX Why do we scan here? translation_project.scan_files(vcs_sync=False) oldstats = translation_project.get_stats() # The URL relative to the URL of the translation project. Thus, if # directory.pootle_path == /af/pootle/foo/bar, then # relative_root_dir == foo/bar. if django_file.name.endswith('.zip'): archive = True target_directory = upload_to_dir or request.directory upload_archive(request, target_directory, django_file, overwrite) else: archive = False upload_file(request, request.directory, django_file, overwrite, store=upload_to) translation_project.scan_files(vcs_sync=False) newstats = translation_project.get_stats() # Create a submission. Doesn't fix stats but at least shows up in # last activity column. from django.utils import timezone s = Submission( creation_time=timezone.now(), translation_project=translation_project, submitter=get_profile(request.user), type=SubmissionTypes.UPLOAD, # The other fields are only relevant to unit-based changes. ) s.save() post_file_upload.send(sender=translation_project, user=request.user, oldstats=oldstats, newstats=newstats, archive=archive) # Always return a blank upload form unless the upload form is not valid. return upload_form_class()
def do_upload(self, request, translation_project, directory, store): if self.form.is_valid() and 'file' in request.FILES: django_file = self.form.cleaned_data['file'] overwrite = self.form.cleaned_data['overwrite'] upload_to = self.form.cleaned_data['upload_to'] upload_to_dir = self.form.cleaned_data['upload_to_dir'] # XXX Why do we scan here? translation_project.scan_files(vcs_sync=False) oldstats = translation_project.getquickstats() # The URL relative to the URL of the translation project. Thus, if # directory.pootle_path == /af/pootle/foo/bar, then # relative_root_dir == foo/bar. if django_file.name.endswith('.zip'): archive = True target_directory = upload_to_dir or directory upload_archive(request, target_directory, django_file, overwrite) else: archive = False upload_file(request, directory, django_file, overwrite, store=upload_to) translation_project.scan_files(vcs_sync=False) newstats = translation_project.getquickstats() # create a submission, doesn't fix stats but at least # shows up in last activity column from django.utils import timezone s = Submission( creation_time=timezone.now(), translation_project=translation_project, submitter=get_profile(request.user), type=SubmissionTypes.UPLOAD, # the other fields are only relevant to unit-based changes ) s.save() post_file_upload.send(sender=translation_project, user=request.user, oldstats=oldstats, newstats=newstats, archive=archive) return {'upload': self}
def do_upload(self, request, translation_project, directory, store): if self.form.is_valid() and 'file' in request.FILES: django_file = self.form.cleaned_data['file'] overwrite = self.form.cleaned_data['overwrite'] upload_to = self.form.cleaned_data['upload_to'] upload_to_dir = self.form.cleaned_data['upload_to_dir'] # XXX Why do we scan here? translation_project.scan_files(vcs_sync=False) oldstats = translation_project.getquickstats() # The URL relative to the URL of the translation project. Thus, if # directory.pootle_path == /af/pootle/foo/bar, then # relative_root_dir == foo/bar. if django_file.name.endswith('.zip'): archive = True target_directory = upload_to_dir or directory upload_archive(request, target_directory, django_file, overwrite) else: archive = False upload_file(request, directory, django_file, overwrite, store=upload_to) translation_project.scan_files(vcs_sync=False) newstats = translation_project.getquickstats() # create a submission, doesn't fix stats but at least # shows up in last activity column from django.utils import timezone s = Submission( creation_time=timezone.now(), translation_project=translation_project, submitter=get_profile(request.user), type=SubmissionTypes.UPLOAD, # the other fields are only relevant to unit-based changes ) s.save() post_file_upload.send( sender=translation_project, user=request.user, oldstats=oldstats, newstats=newstats, archive=archive) return {'upload': self}
def do_upload(self, request, translation_project, directory): if self.form.is_valid() and 'file' in request.FILES: django_file = self.form.cleaned_data['file'] overwrite = self.form.cleaned_data['overwrite'] upload_to = self.form.cleaned_data['upload_to'] upload_to_dir = self.form.cleaned_data['upload_to_dir'] translation_project.scan_files() oldstats = translation_project.getquickstats() # The URL relative to the URL of the translation project. Thus, if # directory.pootle_path == /af/pootle/foo/bar, then # relative_root_dir == foo/bar. if django_file.name.endswith('.zip'): archive = True target_directory = upload_to_dir or directory upload_archive(request, target_directory, django_file, overwrite) else: archive = False upload_file(request, directory, django_file, overwrite, store=upload_to) translation_project.scan_files() newstats = translation_project.getquickstats() # create a submission, doesn't fix stats but at least # shows up in last activity column import datetime s = Submission(creation_time=datetime.datetime.utcnow(), translation_project=translation_project, submitter=get_profile(request.user)) s.save() post_file_upload.send(sender=translation_project, user=request.user, oldstats=oldstats, newstats=newstats, archive=archive) return {'upload': self}