def __init__(self, section_entries):
     super().__init__(section_entries)
     if Config.get_section_param(section_entries, "enabled"):
         self.pocket_consumer_key = Config.get_section_param(section_entries, "consumer_key")
         self.pocket_access_token = Config.get_section_param(section_entries, "access_token")
         self.api = pocket.Pocket(self.pocket_consumer_key, self.pocket_access_token)
         self.naming_rules = NamingRules()
         naming_rules_filename = Config.get_section_param(section_entries, "naming_rules_file")
         self.naming_rules.read_naming_rules(naming_rules_filename)
     else:
         self.api = None
    def __init__(self, config_entries, report_type_name: str, year: int, period_num: int):
        super().__init__()

        report_type_values = [item.value for item in ReportType]
        report_type = None
        if report_type_name.lower() not in report_type_values:
            print("Non-existent report type {}, supported types: {}".format(report_type_name, report_type_values))
            exit(1)
        else:
            report_type = ReportType(report_type_name.lower())

        self.period_number = period_num
        self.year = year
        if report_type == ReportType.YEARLY:
            self.period_type = "Year"
            self.period_value = str(self.period_number)
            self.period_start, self.period_end = self._get_year_start_end(self.year)
        elif report_type == ReportType.QUARTERLY:
            self._abort_if_period_invalid(period_num, 1, 4, "quarter")
            self.period_type = "Quarter"
            self.period_value = str(self.period_number)
            self.period_start, self.period_end = self._get_quarter_start_end(self.year, self.period_number)
        elif report_type == ReportType.MONTHLY:
            self._abort_if_period_invalid(period_num, 1, 12, "month")
            self.period_type = "Month"
            month_name = datetime.date(year, self.period_number, 1).strftime('%B')
            self.period_value = str(self.period_number) + " ({})".format(month_name)
            self.period_start, self.period_end = self._get_month_start_end(self.year, self.period_number)
        elif report_type == ReportType.WEEKLY:
            self._abort_if_period_invalid(period_num, 1, 52, "week")
            self.period_value = str(self.period_number)
            self.period_type = "Week"
            self.period_start, self.period_end = self._get_week_start_end(self.year, self.period_number)

        self.period_start_str = self.period_start.strftime("%d.%m")
        self.period_end_str = self.period_end.strftime("%d.%m")
        self.report_title = self.set_variables(Config.get_section_param(config_entries, 'report_title'))

        self.pic_dir = self.set_variables(Config.get_section_param(config_entries, 'pic_dir'))
 def __init__(self, section_entries):
     super().__init__(section_entries)
     if Config.get_section_param(section_entries, "enabled"):
         library_id = Config.get_section_param(section_entries, "library_id")
         api_key = Config.get_section_param(section_entries, "api_key")
         self.read_tag = Config.get_section_param(section_entries, "read_tag")
         library_type = Config.get_section_param(section_entries, "library_type")
         self.zotero_api = zotero.Zotero(library_id, library_type, api_key)
         self.naming_rules = NamingRules()
         naming_rules_filename = Config.get_section_param(section_entries, "naming_rules_file")
         self.naming_rules.read_naming_rules(naming_rules_filename)
     else:
         self.zotero_api = None
 def __init__(self, section_entries):
     super().__init__(section_entries)
     self.constant_sections_filename = Config.get_section_param(section_entries, "filename")