Adds profanity filter, fixes bugs.
[python_utils.git] / dateparse / dateparse_utils.py
index 4decb81570bb0bbf02f066ec31993b20ea0ce6af..cd8bc3543513d147b030c5303424964aaa49b5b9 100755 (executable)
@@ -385,7 +385,7 @@ class DateParser(dateparse_utilsListener):
             tz = pytz.timezone(txt)
             if tz is not None:
                 return tz
-        except:
+        except Exception:
             pass
 
         # Try dateutil
@@ -393,7 +393,7 @@ class DateParser(dateparse_utilsListener):
             tz = dateutil.tz.gettz(txt)
             if tz is not None:
                 return tz
-        except:
+        except Exception:
             pass
 
         # Try constructing an offset in seconds
@@ -406,7 +406,7 @@ class DateParser(dateparse_utilsListener):
                 offset = sign * (hour * 60 * 60) + sign * (minute * 60)
                 tzoffset = dateutil.tz.tzoffset(txt, offset)
                 return tzoffset
-        except:
+        except Exception:
             pass
         return None
 
@@ -574,7 +574,7 @@ class DateParser(dateparse_utilsListener):
             unit = self._figure_out_date_unit(
                 ctx.deltaUnit().getText().lower()
             )
-        except:
+        except Exception:
             raise ParseException(f'Invalid Delta +/-: {ctx.getText()}')
         else:
             self.context['delta_int'] = n
@@ -585,7 +585,7 @@ class DateParser(dateparse_utilsListener):
     ) -> None:
         try:
             unit = self._figure_out_date_unit(ctx.getText().lower())
-        except:
+        except Exception:
             raise ParseException(f'Bad delta unit: {ctx.getText()}')
         else:
             self.context['delta_unit'] = unit
@@ -595,7 +595,7 @@ class DateParser(dateparse_utilsListener):
     ) -> None:
         try:
             txt = ctx.getText().lower()
-        except:
+        except Exception:
             raise ParseException(f'Bad next/last: {ctx.getText()}')
         if (
                 'month' in self.context or
@@ -630,7 +630,7 @@ class DateParser(dateparse_utilsListener):
                 ctx.deltaTimeUnit().getText().lower()
             )
             self.context['time_delta_unit'] = unit
-        except:
+        except Exception:
             raise ParseException(f'Bad delta unit: {ctx.getText()}')
         if 'time_delta_before_after' not in self.context:
             raise ParseException(
@@ -654,7 +654,7 @@ class DateParser(dateparse_utilsListener):
                 ] = TimeUnit.MINUTES
             else:
                 raise ParseException(f'Bad time fraction {ctx.getText()}')
-        except:
+        except Exception:
             raise ParseException(f'Bad time fraction {ctx.getText()}')
 
     def exitDeltaBeforeAfter(
@@ -662,7 +662,7 @@ class DateParser(dateparse_utilsListener):
     ) -> None:
         try:
             txt = ctx.getText().lower()
-        except:
+        except Exception:
             raise ParseException(f'Bad delta before|after: {ctx.getText()}')
         else:
             self.context['delta_before_after'] = txt
@@ -672,7 +672,7 @@ class DateParser(dateparse_utilsListener):
     ) -> None:
         try:
             txt = ctx.getText().lower()
-        except:
+        except Exception:
             raise ParseException(f'Bad delta before|after: {ctx.getText()}')
         else:
             self.context['time_delta_before_after'] = txt
@@ -732,7 +732,7 @@ class DateParser(dateparse_utilsListener):
                 self.context['month'] = month
                 self.context['day'] = 1
             self.main_type = DateParser.PARSE_TYPE_BASE_AND_OFFSET_EXPR
-        except:
+        except Exception:
             raise ParseException(
                 f'Invalid nthWeekday expression: {ctx.getText()}'
             )
@@ -746,7 +746,7 @@ class DateParser(dateparse_utilsListener):
     def exitNth(self, ctx: dateparse_utilsParser.NthContext) -> None:
         try:
             i = self._get_int(ctx.getText())
-        except:
+        except Exception:
             raise ParseException(f'Bad nth expression: {ctx.getText()}')
         else:
             self.context['nth'] = i
@@ -764,7 +764,7 @@ class DateParser(dateparse_utilsListener):
                 raise ParseException(
                     f'Bad first|last expression: {ctx.getText()}'
                 )
-        except:
+        except Exception:
             raise ParseException(f'Bad first|last expression: {ctx.getText()}')
         else:
             self.context['nth'] = txt
@@ -773,7 +773,7 @@ class DateParser(dateparse_utilsListener):
         try:
             dow = ctx.getText().lower()[:3]
             dow = self.day_name_to_number.get(dow, None)
-        except:
+        except Exception:
             raise ParseException('Bad day of week')
         else:
             self.context['dow'] = dow
@@ -797,7 +797,7 @@ class DateParser(dateparse_utilsListener):
                 raise ParseException(
                     f'Bad dayOfMonth expression: {ctx.getText()}'
                 )
-        except:
+        except Exception:
             raise ParseException(f'Bad dayOfMonth expression: {ctx.getText()}')
         self.context['day'] = day
 
@@ -814,7 +814,7 @@ class DateParser(dateparse_utilsListener):
                 raise ParseException(
                     f'Bad monthName expression: {ctx.getText()}'
                 )
-        except:
+        except Exception:
             raise ParseException(f'Bad monthName expression: {ctx.getText()}')
         else:
             self.context['month'] = month
@@ -828,7 +828,7 @@ class DateParser(dateparse_utilsListener):
                 raise ParseException(
                     f'Bad monthNumber expression: {ctx.getText()}'
                 )
-        except:
+        except Exception:
             raise ParseException(
                 f'Bad monthNumber expression: {ctx.getText()}'
             )
@@ -840,7 +840,7 @@ class DateParser(dateparse_utilsListener):
             year = self._get_int(ctx.getText())
             if year < 1:
                 raise ParseException(f'Bad year expression: {ctx.getText()}')
-        except:
+        except Exception:
             raise ParseException(f'Bad year expression: {ctx.getText()}')
         else:
             self.context['year'] = year
@@ -851,7 +851,7 @@ class DateParser(dateparse_utilsListener):
         try:
             special = ctx.specialDate().getText().lower()
             self.context['special'] = special
-        except:
+        except Exception:
             raise ParseException(
                 f'Bad specialDate expression: {ctx.specialDate().getText()}'
             )
@@ -864,7 +864,7 @@ class DateParser(dateparse_utilsListener):
                     self.context['special_next_last'] = 'next'
                 elif mod.LAST() is not None:
                     self.context['special_next_last'] = 'last'
-        except:
+        except Exception:
             raise ParseException(
                 f'Bad specialDateNextLast expression: {ctx.getText()}'
             )
@@ -877,7 +877,7 @@ class DateParser(dateparse_utilsListener):
             count = self._get_int(ctx.unsignedInt().getText())
             unit = ctx.deltaUnit().getText().lower()
             ago_from_now = ctx.AGO_FROM_NOW().getText()
-        except:
+        except Exception:
             raise ParseException(
                 f'Bad NFoosFromTodayAgoExpr: {ctx.getText()}'
             )
@@ -911,7 +911,7 @@ class DateParser(dateparse_utilsListener):
                     f'Bad This/Next/Last modifier: {mod}'
                 )
             unit = ctx.deltaUnit().getText().lower()
-        except:
+        except Exception:
             raise ParseException(
                 f'Bad DeltaRelativeToTodayExpr: {ctx.getText()}'
             )
@@ -929,7 +929,7 @@ class DateParser(dateparse_utilsListener):
     ) -> None:
         try:
             txt = ctx.specialTime().getText().lower()
-        except:
+        except Exception:
             raise ParseException(
                 f'Bad special time expression: {ctx.getText()}'
             )
@@ -950,7 +950,7 @@ class DateParser(dateparse_utilsListener):
         try:
             tz = ctx.tzExpr().getText()
             self.context['tz'] = self._parse_tz(tz)
-        except:
+        except Exception:
             pass
 
     def exitTwelveHourTimeExpr(
@@ -961,14 +961,14 @@ class DateParser(dateparse_utilsListener):
             while not hour[-1].isdigit():
                 hour = hour[:-1]
             hour = self._get_int(hour)
-        except:
+        except Exception:
             raise ParseException(f'Bad hour: {ctx.hour().getText()}')
         if hour <= 0 or hour > 12:
             raise ParseException(f'Bad hour (out of range): {hour}')
 
         try:
             minute = self._get_int(ctx.minute().getText())
-        except:
+        except Exception:
             minute = 0
         if minute < 0 or minute > 59:
             raise ParseException(f'Bad minute (out of range): {minute}')
@@ -976,7 +976,7 @@ class DateParser(dateparse_utilsListener):
 
         try:
             seconds = self._get_int(ctx.second().getText())
-        except:
+        except Exception:
             seconds = 0
         if seconds < 0 or seconds > 59:
             raise ParseException(f'Bad second (out of range): {seconds}')
@@ -984,7 +984,7 @@ class DateParser(dateparse_utilsListener):
 
         try:
             micros = self._get_int(ctx.micros().getText())
-        except:
+        except Exception:
             micros = 0
         if micros < 0 or micros > 1000000:
             raise ParseException(f'Bad micros (out of range): {micros}')
@@ -992,7 +992,7 @@ class DateParser(dateparse_utilsListener):
 
         try:
             ampm = ctx.ampm().getText()
-        except:
+        except Exception:
             raise ParseException(f'Bad ampm: {ctx.ampm().getText()}')
         if hour == 12:
             hour = 0
@@ -1003,7 +1003,7 @@ class DateParser(dateparse_utilsListener):
         try:
             tz = ctx.tzExpr().getText()
             self.context['tz'] = self._parse_tz(tz)
-        except:
+        except Exception:
             pass
 
     def exitTwentyFourHourTimeExpr(
@@ -1014,7 +1014,7 @@ class DateParser(dateparse_utilsListener):
             while not hour[-1].isdigit():
                 hour = hour[:-1]
             hour = self._get_int(hour)
-        except:
+        except Exception:
             raise ParseException(f'Bad hour: {ctx.hour().getText()}')
         if hour < 0 or hour > 23:
             raise ParseException(f'Bad hour (out of range): {hour}')
@@ -1022,7 +1022,7 @@ class DateParser(dateparse_utilsListener):
 
         try:
             minute = self._get_int(ctx.minute().getText())
-        except:
+        except Exception:
             minute = 0
         if minute < 0 or minute > 59:
             raise ParseException(f'Bad minute (out of range): {ctx.getText()}')
@@ -1030,7 +1030,7 @@ class DateParser(dateparse_utilsListener):
 
         try:
             seconds = self._get_int(ctx.second().getText())
-        except:
+        except Exception:
             seconds = 0
         if seconds < 0 or seconds > 59:
             raise ParseException(f'Bad second (out of range): {ctx.getText()}')
@@ -1038,7 +1038,7 @@ class DateParser(dateparse_utilsListener):
 
         try:
             micros = self._get_int(ctx.micros().getText())
-        except:
+        except Exception:
             micros = 0
         if micros < 0 or micros >= 1000000:
             raise ParseException(f'Bad micros (out of range): {ctx.getText()}')
@@ -1047,7 +1047,7 @@ class DateParser(dateparse_utilsListener):
         try:
             tz = ctx.tzExpr().getText()
             self.context['tz'] = self._parse_tz(tz)
-        except:
+        except Exception:
             pass