def set_released(self, *args: (datetime.date, int)) -> None: if isinstance(args[0], datetime.date): self._released = args[0] else: y, m, d = assertion.is_int(args[2]), assertion.is_int( args[0]), assertion.is_int(args[1]) self._released = datetime.date(y, m, d)
def __init__(self, name: str, month: int = 1, day: int = 1, year: int = 2020, info: str = ''): super().__init__(name) self._date = datetime.date(month=assertion.is_int(month), day=assertion.is_int(day), year=assertion.is_int(year)) self._info = assertion.is_str(info)
def _exec_internal(self, src: Story, start: int, end: int) -> Story: LOG.debug(f'-- src: {src}') LOG.debug(f'-- start/end: {start}/{end}') assertion.is_int(start) assertion.is_int(end) tmp = [] idx = 0 # TODO: start and end check for child in assertion.is_instance(src, Story).children: if isinstance(child, (Chapter, Episode)): if idx >= start and (idx <= end or end < 0): tmp.append(child) idx += 1 else: tmp.append(child) return src.inherited(*tmp)
def set_priority(self, pri: int) -> SObject: ''' Set the object priority. ''' self._priority = assertion.is_between( assertion.is_int(pri), __PRIORITY_MAX__, __PRIORITY_MIN__) return self
def test_is_int(self): data = [ # (val, expect) (True, 1, 1,), (False, "1", "1",), ] validate_with_fail(self, "is_int", lambda v,expect: self.assertEqual(assertion.is_int(v), expect), data)
def __init__(self, total_chars: int, total_lines: int, total_papers: (int, float), desc_chars: int, lines: int, papers: (int, float), chapters: int, episodes: int, scenes: int, scodes: int): self._total_chars = assertion.is_int(total_chars) self._total_lines = assertion.is_int(total_lines) self._total_papers = assertion.is_int_or_float(total_papers) self._desc_chars = assertion.is_int(desc_chars) self._lines = assertion.is_int(lines) self._papers = assertion.is_int_or_float(papers) self._chapters = assertion.is_int(chapters) self._episodes = assertion.is_int(episodes) self._scenes = assertion.is_int(scenes) self._scodes = assertion.is_int(scodes)
def __init__(self, name: str, fullname: str, age: int, birth: tuple, sex: str, job: str, calling: (str, dict)='me:私', info: str=''): super().__init__(name) self._basename = assertion.is_str(fullname) self._age = assertion.is_int(age) self._birth = assertion.is_tuple(birth) self._sex = assertion.is_str(sex) self._job = assertion.is_str(job) self._calling = calling_dict_from(calling, name) self._info = assertion.is_str(info) # names self._firstname, self._lastname, self._fullname, self._exfullname = name_set_from(self._basename, name)
def __init__(self, title: str): LOG.info('CONFIG: initialize') LOG.debug(f'-- title: {title}') # for specific self._title = assertion.is_str(title) self._copy = assertion.is_str('__catch_copy__') self._oneline = assertion.is_str('__one_line__') self._outline = assertion.is_str('__story_outline__') self._theme = assertion.is_str('__theme__') self._genre = assertion.is_str('__genre__') self._target = assertion.is_str('__target_age__') self._size = assertion.is_str('__size__') self._desc_size = assertion.is_int(0) self._total_size = assertion.is_int(0) self._desc_papers = assertion.is_int_or_float(0) self._total_papers = assertion.is_int_or_float(0) # for story self._priority = assertion.is_int(__PRIORITY_DEFAULT__) self._start = assertion.is_int(0) self._end = assertion.is_int(-1) self._base_date = datetime.date(2020, 1, 1) self._base_time = datetime.time(12, 00) self._version = assertion.is_tuple((0, 0, 1)) self._columns = assertion.is_int(20) self._rows = assertion.is_int(20) self._contest_info = assertion.is_str('') self._caution = assertion.is_str('') self._note = assertion.is_str('') self._sites = assertion.is_listlike([]) self._taginfos = assertion.is_listlike([]) self._modified = datetime.date.today() self._released = datetime.date(2020, 1, 1) # for compile self._is_data = assertion.is_bool(False) self._is_plot = assertion.is_bool(False) self._is_text = assertion.is_bool(False) self._is_scenario = assertion.is_bool(False) self._is_audiodrama = assertion.is_bool(False) self._is_rubi = assertion.is_bool(False) self._is_comment = assertion.is_bool(False) self._is_console = assertion.is_bool(False) self._format_mode = assertion.is_instance(FormatMode.DEFAULT, FormatMode) self._output_mode = assertion.is_instance(OutputMode.FILE, OutputMode) self._filename = assertion.is_str('story') self._builddir = assertion.is_str('build') self._log_level = assertion.is_str('warn')
def int_ceil(a: int, b: int) -> int: ''' Ceil integer ''' return -(-assertion.is_int(a) // assertion.is_int(b))
def __init__(self, name: str, hour: int, minute: int): super().__init__(name) self._time = datetime.time(hour=assertion.is_int(hour), minute=assertion.is_int(minute))
def omit(self) -> SObject: ''' Set the lowest priority for omit object. ''' self._priority = assertion.is_int(__PRIORITY_MIN__) return self
def set_start(self, start: int) -> None: self._start = assertion.is_int(start)
def set_end(self, end: int) -> None: self._end = assertion.is_int(end)
def set_rows(self, rows: int) -> None: self._rows = assertion.is_int(rows)
def set_priority(self, pri: int) -> None: self._priority = assertion.is_between(assertion.is_int(pri), __PRIORITY_MAX__, __PRIORITY_MIN__)
def set_columns(self, col: int) -> None: self._columns = assertion.is_int(col)
def __init__(self, name: str): self._name = assertion.is_str(name) self._priority = assertion.is_int(__PRIORITY_DEFAULT__)
def _get_tabspace(self, num: int) -> str: return ' ' * assertion.is_int(num)
def set_total_size(self, size: int) -> None: self._total_size = assertion.is_int(size)
def set_desc_size(self, size: int) -> None: self._desc_size = assertion.is_int(size)