Skip to content
This repository was archived by the owner on Mar 22, 2024. It is now read-only.

Commit a4b9cfb

Browse files
committed
First commit of 1.8 upgrade
1 parent 85274bf commit a4b9cfb

File tree

16 files changed

+488
-136
lines changed

16 files changed

+488
-136
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,5 @@ django-os2webscanner/django.os2webscanner.egg-info
88
*.egg-info
99
/webscanner_site/webscanner/local_settings.py
1010
/scrapy-webscanner/scanner/local_settings.py
11+
.ropeproject
12+
var/

django-os2webscanner/os2webscanner/forms.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ class ScannerForm(forms.ModelForm):
2626

2727
class Meta:
2828
model = Scanner
29+
fields = '__all__'
2930

3031

3132
class FileUploadForm(forms.Form):
@@ -34,13 +35,12 @@ class FileUploadForm(forms.Form):
3435

3536
def validate_filetype(upload_file):
3637
extension = upload_file.name.split('.')[-1]
37-
if not extension in ['odp', 'xls', 'xlsx', 'csv', 'pdf']:
38+
if extension not in ['odp', 'xls', 'xlsx', 'csv', 'pdf']:
3839
raise ValidationError(
3940
'Please upload a spreadsheet or a PDF file!'
4041
)
4142

4243
scan_file = forms.FileField(label="Fil", validators=[validate_filetype])
43-
#scan_file = forms.FileField(label="Fil")
4444
# CPR scan
4545
do_cpr_scan = forms.BooleanField(label="Scan CPR-numre", initial=True,
4646
required=False)
@@ -57,19 +57,19 @@ def validate_filetype(upload_file):
5757
name_replacement_text = forms.CharField(label="Erstat match med",
5858
required=False,
5959
initial="NAVN",
60-
)
60+
)
6161
# Address scan
6262
do_address_scan = forms.BooleanField(label="Scan adresser", initial=True,
63-
required=False)
63+
required=False)
6464
do_replace_address = forms.BooleanField(label="Erstat adresser",
6565
initial=False, required=False)
6666
address_replacement_text = forms.CharField(label="Erstat match med",
6767
required=False,
6868
initial="ADRESSE",
69-
)
69+
)
7070
# OCR scan
7171
do_ocr = forms.BooleanField(label="OCR scan", initial=False,
72-
required=False)
72+
required=False)
7373
# Column list - ignored if left blank
7474
column_list = forms.RegexField(
7575
label="Scan kun kolonner",

django-os2webscanner/os2webscanner/migrations/0001_initial.py

Lines changed: 312 additions & 0 deletions
Large diffs are not rendered by default.

django-os2webscanner/os2webscanner/migrations/__init__.py

Whitespace-only changes.

django-os2webscanner/os2webscanner/models.py

Lines changed: 49 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -68,17 +68,17 @@ class Organization(models.Model):
6868
editable=settings.DO_USE_GROUPS)
6969

7070
name_whitelist = models.TextField(blank=True,
71-
default="",
72-
verbose_name='Godkendte navne')
71+
default="",
72+
verbose_name='Godkendte navne')
7373
name_blacklist = models.TextField(blank=True,
74-
default="",
75-
verbose_name='Sortlistede navne')
74+
default="",
75+
verbose_name='Sortlistede navne')
7676
address_whitelist = models.TextField(blank=True,
77-
default="",
78-
verbose_name='Godkendte adresser')
77+
default="",
78+
verbose_name='Godkendte adresser')
7979
address_blacklist = models.TextField(blank=True,
80-
default="",
81-
verbose_name='Sortlistede adresser')
80+
default="",
81+
verbose_name='Sortlistede adresser')
8282

8383
def __unicode__(self):
8484
"""Return the name of the organization."""
@@ -95,10 +95,9 @@ class UserProfile(models.Model):
9595
organization = models.ForeignKey(Organization,
9696
null=False,
9797
verbose_name='Organisation')
98-
user = models.ForeignKey(User,
99-
unique=True,
100-
related_name='profile',
101-
verbose_name='Bruger')
98+
user = models.OneToOneField(User,
99+
related_name='profile',
100+
verbose_name='Bruger')
102101
is_group_admin = models.BooleanField(default=False)
103102
is_upload_only = models.BooleanField(default=False)
104103

@@ -117,7 +116,7 @@ class Group(models.Model):
117116
name = models.CharField(max_length=256, unique=True, verbose_name='Navn')
118117
contact_email = models.CharField(max_length=256, verbose_name='Email')
119118
contact_phone = models.CharField(max_length=256, verbose_name='Telefon')
120-
user_profiles = models.ManyToManyField(UserProfile, null=True, blank=True,
119+
user_profiles = models.ManyToManyField(UserProfile, blank=True,
121120
verbose_name='Brugere',
122121
related_name='groups')
123122
organization = models.ForeignKey(Organization,
@@ -219,8 +218,10 @@ def exclusion_rule_list(self):
219218
def root_url(self):
220219
"""Return the root url of the domain."""
221220
url = self.url.replace('*.', '')
222-
if (not self.url.startswith('http://') and not
223-
self.url.startswith('https://')):
221+
if (
222+
not self.url.startswith('http://') and not
223+
self.url.startswith('https://')
224+
):
224225
return 'http://%s/' % url
225226
else:
226227
return url
@@ -298,7 +299,7 @@ class Scanner(models.Model):
298299
organization = models.ForeignKey(Organization, null=False,
299300
verbose_name='Organisation')
300301
group = models.ForeignKey(Group, null=True, blank=True,
301-
verbose_name='Gruppe')
302+
verbose_name='Gruppe')
302303
schedule = RecurrenceField(max_length=1024,
303304
verbose_name='Planlagt afvikling')
304305
domains = models.ManyToManyField(Domain, related_name='scanners',
@@ -327,15 +328,14 @@ class Scanner(models.Model):
327328
verbose_name='Brug HEAD request'
328329
)
329330
do_collect_cookies = models.BooleanField(default=False,
330-
verbose_name='Saml cookies')
331+
verbose_name='Saml cookies')
331332
columns = models.CommaSeparatedIntegerField(max_length=128,
332333
null=True,
333334
blank=True)
334335
regex_rules = models.ManyToManyField(RegexRule,
335336
blank=True,
336-
null=True,
337337
verbose_name='Regex regler')
338-
recipients = models.ManyToManyField(UserProfile, null=True, blank=True,
338+
recipients = models.ManyToManyField(UserProfile, blank=True,
339339
verbose_name='Modtagere')
340340

341341
# Spreadsheet annotation and replacement parameters
@@ -434,7 +434,7 @@ def schedule_description(self):
434434
def has_active_scans(self):
435435
"""Whether the scanner has active scans."""
436436
active_scanners = Scan.objects.filter(scanner=self, status__in=(
437-
Scan.NEW, Scan.STARTED)).count()
437+
Scan.NEW, Scan.STARTED)).count()
438438
return active_scanners > 0
439439

440440
@property
@@ -443,9 +443,9 @@ def has_valid_domains(self):
443443

444444
# Run error messages
445445
ALREADY_RUNNING = ("Scanneren kunne ikke startes," +
446-
" fordi der allerede er en scanning i gang for den.")
446+
" fordi der allerede er en scanning i gang for den.")
447447
NO_VALID_DOMAINS = ("Scanneren kunne ikke startes," +
448-
" fordi den ikke har nogen gyldige domæner.")
448+
" fordi den ikke har nogen gyldige domæner.")
449449

450450
def run(self, test_only=False, blocking=False, user=None):
451451
"""Run a scan with the Scanner.
@@ -466,7 +466,7 @@ def run(self, test_only=False, blocking=False, user=None):
466466
scan = Scan.create(self)
467467
# Add user as recipient on scan
468468
if user:
469-
scan.recipients.add(user.get_profile())
469+
scan.recipients.add(user.profile)
470470
# Get path to run script
471471
SCRAPY_WEBSCANNER_DIR = os.path.join(base_dir, "scrapy-webscanner")
472472

@@ -526,13 +526,14 @@ class Scan(models.Model):
526526
default="",
527527
verbose_name='Sortlistede navne')
528528
whitelisted_addresses = models.TextField(max_length=4096, blank=True,
529-
default="",
530-
verbose_name='Godkendte adresser')
531-
blacklisted_addresses = models.TextField(max_length=4096, blank=True,
532-
default="",
533-
verbose_name='Sortlistede adresser')
529+
default="",
530+
verbose_name='Godkendte adresser')
531+
blacklisted_addresses = models.TextField(
532+
max_length=4096, blank=True,
533+
default="",
534+
verbose_name='Sortlistede adresser'
535+
)
534536
domains = models.ManyToManyField(Domain,
535-
null=True,
536537
verbose_name='Domæner')
537538
do_cpr_scan = models.BooleanField(default=True, verbose_name='CPR')
538539
do_name_scan = models.BooleanField(default=False, verbose_name='Navn')
@@ -558,16 +559,15 @@ class Scan(models.Model):
558559
verbose_name='Brug HEAD request'
559560
)
560561
do_collect_cookies = models.BooleanField(default=False,
561-
verbose_name='Saml cookies')
562+
verbose_name='Saml cookies')
562563

563564
columns = models.CommaSeparatedIntegerField(max_length=128,
564565
null=True,
565566
blank=True)
566567
regex_rules = models.ManyToManyField(RegexRule,
567568
blank=True,
568-
null=True,
569569
verbose_name='Regex regler')
570-
recipients = models.ManyToManyField(UserProfile, null=True, blank=True)
570+
recipients = models.ManyToManyField(UserProfile, blank=True)
571571

572572
# Spreadsheet annotation and replacement parameters
573573

@@ -810,15 +810,19 @@ def save(self, *args, **kwargs):
810810
used by the scan.
811811
"""
812812
# Pre-save stuff
813-
if (self.status in [Scan.DONE, Scan.FAILED] and
814-
(self._old_status != self.status)):
813+
if (
814+
self.status in [Scan.DONE, Scan.FAILED] and
815+
(self._old_status != self.status)
816+
):
815817
self.end_time = datetime.datetime.now()
816818
# Actual save
817819
super(Scan, self).save(*args, **kwargs)
818820
# Post-save stuff
819821

820-
if (self.status in [Scan.DONE, Scan.FAILED] and
821-
(self._old_status != self.status)):
822+
if (
823+
self.status in [Scan.DONE, Scan.FAILED] and
824+
(self._old_status != self.status)
825+
):
822826
# Send email
823827
from os2webscanner.utils import notify_user
824828
try:
@@ -840,7 +844,7 @@ def cleanup_finished_scan(self, log=False):
840844
if pending_items.exists():
841845
print "Deleting %d remaining conversion queue items from " \
842846
"finished scan %s" % (
843-
pending_items.count(), self)
847+
pending_items.count(), self)
844848

845849
pending_items.delete()
846850

@@ -940,7 +944,7 @@ class Url(models.Model):
940944
verbose_name='Status ' + 'Message')
941945
referrers = models.ManyToManyField("ReferrerUrl",
942946
related_name='linked_urls',
943-
null=True, verbose_name='Referrers')
947+
verbose_name='Referrers')
944948

945949
def __unicode__(self):
946950
"""Return the URL."""
@@ -1064,9 +1068,9 @@ class UrlLastModified(models.Model):
10641068

10651069
url = models.CharField(max_length=2048, verbose_name='Url')
10661070
last_modified = models.DateTimeField(blank=True, null=True,
1067-
verbose_name='Last-modified')
1071+
verbose_name='Last-modified')
10681072
links = models.ManyToManyField("self", symmetrical=False,
1069-
null=True, verbose_name='Links')
1073+
verbose_name='Links')
10701074
scanner = models.ForeignKey(Scanner, null=False, verbose_name='Scanner')
10711075

10721076
def __unicode__(self):
@@ -1085,15 +1089,15 @@ class Summary(models.Model):
10851089
schedule = RecurrenceField(max_length=1024,
10861090
verbose_name='Planlagt afvikling')
10871091
last_run = models.DateTimeField(blank=True, null=True,
1088-
verbose_name='Sidste kørsel')
1089-
recipients = models.ManyToManyField(UserProfile, null=True, blank=True,
1092+
verbose_name='Sidste kørsel')
1093+
recipients = models.ManyToManyField(UserProfile, blank=True,
10901094
verbose_name="Modtagere")
1091-
scanners = models.ManyToManyField(Scanner, null=True, blank=True,
1095+
scanners = models.ManyToManyField(Scanner, blank=True,
10921096
verbose_name="Scannere")
10931097
organization = models.ForeignKey(Organization, null=False,
10941098
verbose_name='Organisation')
10951099
group = models.ForeignKey(Group, null=True, blank=True,
1096-
verbose_name='Gruppe')
1100+
verbose_name='Gruppe')
10971101
do_email_recipients = models.BooleanField(default=False,
10981102
verbose_name="Udsend mails")
10991103

@@ -1124,7 +1128,7 @@ class Md5Sum(models.Model):
11241128

11251129
class Meta:
11261130
unique_together = ('md5', 'is_cpr_scan', 'is_check_mod11',
1127-
'is_ignore_irrelevant', 'organization')
1131+
'is_ignore_irrelevant', 'organization')
11281132

11291133
def __unicode__(self):
11301134
return u"{0}: {1}".format(self.organization.name, self.md5)

django-os2webscanner/os2webscanner/rpc.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def scan_urls(username, password, urls, params={}):
4545
user = authenticate(username=username, password=password)
4646
if not user:
4747
raise RuntimeError("Wrong username or password!")
48-
scan = do_scan(user, urls, params)
48+
do_scan(user, urls, params)
4949

5050
return do_scan_urls(user, urls, params)
5151

@@ -142,9 +142,11 @@ def get_report(username, password, report_url):
142142
writer.writerow(e([u'Starttidspunkt', u'Sluttidspunkt', u'Status',
143143
u'Totalt antal matches']))
144144
# Print summary
145-
writer.writerow(e([str(scan.start_time),
146-
str(scan.end_time), scan.get_status_display(),
147-
str(len(all_matches))]))
145+
writer.writerow(
146+
e([str(scan.start_time),
147+
str(scan.end_time), scan.get_status_display(),
148+
str(len(all_matches))])
149+
)
148150
# Print match header
149151
writer.writerow(e([u'URL', u'Regel', u'Match', u'Følsomhed']))
150152
for match in all_matches:

django-os2webscanner/os2webscanner/templates/os2webscanner/base.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,12 @@
4141
<div class="collapse navbar-collapse">
4242
<ul class="nav navbar-nav">
4343
{% if user.is_authenticated %}
44-
{% if not user.get_profile.is_upload_only %}
44+
{% if not user.profile.is_upload_only %}
4545
<li {% block scanners_active %}{% endblock %}>
4646
<a href="/scanners/">Scannere</a>
4747
</li>
48-
{% if user.get_profile.is_groups_enabled %}
49-
{% if user.is_superuser or user.get_profile.is_group_admin %}
48+
{% if user.profile.is_groups_enabled %}
49+
{% if user.is_superuser or user.profile.is_group_admin %}
5050
<li {% block groups_active %}{% endblock %}>
5151
<a href="/groups/">Grupper</a>
5252
</li>
@@ -81,7 +81,7 @@
8181
<li>
8282
<a href="/system/upload_file/">Scan regneark</a>
8383
</li>
84-
{% if not user.get_profile.is_upload_only %}
84+
{% if not user.profile.is_upload_only %}
8585
<li><a href="/organization/">Oplæring</a></li>
8686
{% endif %}
8787
<li>

django-os2webscanner/os2webscanner/tests.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class ScannerTest(TestCase):
3737
# Internet connection! !!!
3838

3939
@classmethod
40-
def setUpClass(cls):
40+
def setUpTestData(cls):
4141
"""Setup some data to test with."""
4242
# Don't change the order of these, because Magenta needs
4343
# pk = 2 to pass the validation test
@@ -86,7 +86,7 @@ def pep8_test(filepath):
8686
"""Run a pep8 test on the filepath."""
8787
def do_test(self):
8888
# print "PATH:", filepath
89-
arglist = ['--exclude=lib', filepath]
89+
arglist = ['--exclude=lib,migrations', filepath]
9090
pep8.process_options(arglist)
9191
pep8.input_dir(filepath)
9292
output = pep8.get_statistics()

django-os2webscanner/os2webscanner/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ def do_scan(user, urls, params={}, blocking=False, visible=False):
8888
parameters and values. Defaults are used for unspecified parameters.
8989
"""
9090
scanner = models.Scanner()
91-
scanner.organization = user.get_profile().organization
91+
scanner.organization = user.profile.organization
9292
scanner.name = user.username + '-' + str(time.time())
9393
scanner.do_run_synchronously = True
9494
scanner.do_last_modified_check = False

0 commit comments

Comments
 (0)