File: __init__.py

package info (click to toggle)
pypy3 7.0.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 111,848 kB
  • sloc: python: 1,291,746; ansic: 74,281; asm: 5,187; cpp: 3,017; sh: 2,533; makefile: 544; xml: 243; lisp: 45; csh: 21; awk: 4
file content (56 lines) | stat: -rw-r--r-- 1,913 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

from pypy.interpreter.mixedmodule import MixedModule
from .interp_time import HAS_MONOTONIC
from rpython.rlib import rtime
import os

_WIN = os.name == "nt"

class Module(MixedModule):
    applevel_name = 'time'

    interpleveldefs = {
        'time': 'interp_time.time',
        'clock': 'interp_time.clock',
        'ctime': 'interp_time.ctime',
        'asctime': 'interp_time.asctime',
        'gmtime': 'interp_time.gmtime',
        'localtime': 'interp_time.localtime',
        'mktime': 'interp_time.mktime',
        'strftime': 'interp_time.strftime',
        'sleep' : 'interp_time.sleep',
        '_STRUCT_TM_ITEMS': 'space.wrap(interp_time._STRUCT_TM_ITEMS)',
        'perf_counter': 'interp_time.perf_counter',
        'process_time': 'interp_time.process_time',
    }

    if rtime.HAS_CLOCK_GETTIME:
        interpleveldefs['clock_gettime'] = 'interp_time.clock_gettime'
        interpleveldefs['clock_settime'] = 'interp_time.clock_settime'
        interpleveldefs['clock_getres'] = 'interp_time.clock_getres'
        for constant in rtime.ALL_DEFINED_CLOCKS:
            interpleveldefs[constant] = 'space.wrap(%d)' % (
                getattr(rtime, constant),)
    if HAS_MONOTONIC:
        interpleveldefs['monotonic'] = 'interp_time.monotonic'
    if os.name == "posix":
        interpleveldefs['tzset'] = 'interp_time.tzset'

    appleveldefs = {
        'struct_time': 'app_time.struct_time',
        '__doc__': 'app_time.__doc__',
        'strptime': 'app_time.strptime',
        'get_clock_info': 'app_time.get_clock_info'
    }

    def startup(self, space):
        if _WIN:
            from pypy.module.time.interp_time import State
            space.fromcache(State).startup(space)

        # this machinery is needed to expose constants
        # that have to be initialized one time only
        from pypy.module.time import interp_time

        interp_time._init_timezone(space)