@@ -79,6 +79,14 @@ def __init__(
79
79
# TODO: implement UI changes for the above in web\src\lib\connectors\connectors.tsx?
80
80
) -> None :
81
81
82
+ # test for invalid characters in ingest_tags
83
+ if ingest_tags and not all (
84
+ char .isalnum () or char in ", " for char in ingest_tags
85
+ ):
86
+ raise ConnectorValidationError (
87
+ "Invalid characters in ingest_tags. Only alphanumeric characters, commas, and spaces are allowed."
88
+ )
89
+ # convert ingest_tags to list of tags
82
90
try :
83
91
self .ingest_tags : List [str ] = (
84
92
[tag .strip () for tag in ingest_tags .split ("," )] if ingest_tags else []
@@ -88,6 +96,14 @@ def __init__(
88
96
f"Could not parse ingest_tags: { ingest_tags } . Error: { e } "
89
97
)
90
98
99
+ # test for invalid characters in ingest_usernames
100
+ if ingest_usernames and not all (
101
+ char .isalnum () or char in ", " for char in ingest_usernames
102
+ ):
103
+ raise ConnectorValidationError (
104
+ "Invalid characters in ingest_usernames. Only alphanumeric characters, commas, and spaces are allowed."
105
+ )
106
+ # convert ingest_usernames to list of usernames
91
107
try :
92
108
self .ingest_usernames : List [str ] = (
93
109
[username .strip () for username in ingest_usernames .split ("," )]
@@ -101,16 +117,18 @@ def __init__(
101
117
102
118
self .ingest_noowner = ingest_noowner
103
119
104
- # Allowed ui_min_start_date formats:
105
120
# TODO: write code to allow for date-time?
106
- # - yyyy-mm-dd
107
- # - mm/dd/yyyy
108
- # - dd/mm/yyyy
109
- # - mm-dd-yyyy
110
- # - dd-mm-yyyy
111
- # - yyyy/mm/dd
112
- # - dd.mm.yyyy
113
- # - mm.dd.yyyy
121
+ """
122
+ Allowed ui_min_start_date formats:
123
+ - yyyy-mm-dd
124
+ - mm/dd/yyyy
125
+ - dd/mm/yyyy
126
+ - mm-dd-yyyy
127
+ - dd-mm-yyyy
128
+ - yyyy/mm/dd
129
+ - dd.mm.yyyy
130
+ - mm.dd.yyyy
131
+ """
114
132
self .master_start_date : Optional [str ] = None
115
133
if ui_min_start_date :
116
134
try :
@@ -163,7 +181,7 @@ def load_credentials(self, credentials: Dict[str, Any]) -> None:
163
181
self .auth_token = credentials ["paperless_ngx_auth_token" ]
164
182
165
183
if not self .api_url :
166
- raise PermissionError ("Paperless-ngx API URL not found in settings." )
184
+ raise PermissionError ("Paperless-ngx API URL not found in settings." )
167
185
168
186
if not self .auth_token :
169
187
raise PermissionError ("Paperless-ngx auth token not found in settings." )
0 commit comments