summaryrefslogtreecommitdiff
path: root/raphodo/generatename.py
diff options
context:
space:
mode:
authorAntoine Beaupré <anarcat@debian.org>2018-03-14 12:25:11 -0400
committerAntoine Beaupré <anarcat@debian.org>2018-03-14 12:25:11 -0400
commit19c038a39f39ca58ec9eda218f412856fa149fb4 (patch)
tree16bee584700903300b29518d9a7f0c6c3c916b50 /raphodo/generatename.py
parentd1098f6cc37c5b7b98a28470781f3c4dd5d046d5 (diff)
parent0a297829eaf3912c939e1b43a3ef6ddeb7607b38 (diff)
Merge tag 'upstream/0.9.9'
Upstream version 0.9.9
Diffstat (limited to 'raphodo/generatename.py')
-rw-r--r--raphodo/generatename.py84
1 files changed, 34 insertions, 50 deletions
diff --git a/raphodo/generatename.py b/raphodo/generatename.py
index 2057485..6d6f698 100644
--- a/raphodo/generatename.py
+++ b/raphodo/generatename.py
@@ -41,6 +41,7 @@ from raphodo.problemnotification import (
)
from raphodo.rpdfile import RPDFile, Photo, Video
from raphodo.storage import get_uri
+from raphodo.utilities import letters
from raphodo.generatenameconfig import *
@@ -351,22 +352,7 @@ class NameGeneration:
def _calculate_letter_sequence(self, sequence):
- def _letters(x):
- """
- Adapted from algorithm at
- http://en.wikipedia.org/wiki/Hexavigesimal
- """
- v = ''
- while x > 25:
- r = x % 26
- x = x / 26 - 1
- v = string.ascii_lowercase[r] + v
- v = string.ascii_lowercase[x] + v
-
- return v
-
-
- v = _letters(sequence)
+ v = letters(sequence)
if self.L2 == UPPERCASE:
v = v.upper()
@@ -379,22 +365,22 @@ class NameGeneration:
def _get_downloads_today(self):
return self._format_sequence_no(
- self.rpd_file.sequences.get_downloads_today(), self.L2
+ self.rpd_file.sequences.downloads_today, self.L2
)
def _get_session_sequence_no(self):
return self._format_sequence_no(
- self.rpd_file.sequences.get_session_sequence_no(), self.L2
+ self.rpd_file.sequences.session_sequence_no, self.L2
)
def _get_stored_sequence_no(self):
return self._format_sequence_no(
- self.rpd_file.sequences.get_stored_sequence_no(), self.L2
+ self.rpd_file.sequences.stored_sequence_no, self.L2
)
def _get_sequence_letter(self):
return self._calculate_letter_sequence(
- self.rpd_file.sequences.get_sequence_letter()
+ self.rpd_file.sequences.sequence_letter
)
def _get_sequences_component(self):
@@ -746,41 +732,36 @@ class Sequences:
def __init__(self, downloads_today_tracker: DownloadsTodayTracker,
stored_sequence_no: int) -> None:
- self.session_sequence_no = 0
- self.sequence_letter = -1
+ self._session_sequence_no = 0
+ self._sequence_letter = -1
self.downloads_today_tracker = downloads_today_tracker
- self.stored_sequence_no = stored_sequence_no
+ self._stored_sequence_no = stored_sequence_no
self.matched_sequences = None
+ self.use_matched_sequences = False
- def set_matched_sequence_value(self, matched_sequences: MatchedSequences) -> None:
- self.matched_sequences = matched_sequences
-
- def get_session_sequence_no(self) -> int:
- if self.matched_sequences is not None:
+ @property
+ def session_sequence_no(self) -> int:
+ if self.use_matched_sequences:
return self.matched_sequences.session_sequence_no
else:
- return self._get_session_sequence_no()
+ return self._session_sequence_no + 1
- def _get_session_sequence_no(self) -> int:
- return self.session_sequence_no + 1
-
- def get_sequence_letter(self) -> int:
- if self.matched_sequences is not None:
+ @property
+ def sequence_letter(self) -> int:
+ if self.use_matched_sequences:
return self.matched_sequences.sequence_letter
else:
- return self._get_sequence_letter()
-
- def _get_sequence_letter(self) -> int:
- return self.sequence_letter + 1
+ return self._sequence_letter + 1
def increment(self, uses_session_sequence_no, uses_sequence_letter) -> None:
if uses_session_sequence_no:
- self.session_sequence_no += 1
+ self._session_sequence_no += 1
if uses_sequence_letter:
- self.sequence_letter += 1
+ self._sequence_letter += 1
- def get_downloads_today(self) -> int:
- if self.matched_sequences is not None:
+ @property
+ def downloads_today(self) -> int:
+ if self.use_matched_sequences:
return self.matched_sequences.downloads_today
else:
return self._get_downloads_today()
@@ -792,18 +773,21 @@ class Sequences:
else:
return v + 1
- def get_stored_sequence_no(self) -> int:
- if self.matched_sequences is not None:
+ @property
+ def stored_sequence_no(self) -> int:
+ if self.use_matched_sequences:
return self.matched_sequences.stored_sequence_no
else:
- return self._get_stored_sequence_no()
+ return self._stored_sequence_no
- def _get_stored_sequence_no(self) -> int:
- return self.stored_sequence_no
+ @stored_sequence_no.setter
+ def stored_sequence_no(self, value: int) -> None:
+ self._stored_sequence_no = value
def create_matched_sequences(self) -> MatchedSequences:
return MatchedSequences(
- session_sequence_no=self._get_session_sequence_no(),
- sequence_letter=self._get_sequence_letter(),
+ session_sequence_no=self._session_sequence_no + 1,
+ sequence_letter=self._sequence_letter + 1,
downloads_today=self._get_downloads_today(),
- stored_sequence_no=self._get_stored_sequence_no())
+ stored_sequence_no=self._stored_sequence_no # no need for +1
+ )