Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

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

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

# -*- coding: iso-8859-1 -*- 

# pysqlite2/dbapi2.py: the DB-API 2.0 interface 

# 

# Copyright (C) 2004-2005 Gerhard Häring <gh@ghaering.de> 

# 

# This file is part of pysqlite. 

# 

# This software is provided 'as-is', without any express or implied 

# warranty.  In no event will the authors be held liable for any damages 

# arising from the use of this software. 

# 

# Permission is granted to anyone to use this software for any purpose, 

# including commercial applications, and to alter it and redistribute it 

# freely, subject to the following restrictions: 

# 

# 1. The origin of this software must not be misrepresented; you must not 

#    claim that you wrote the original software. If you use this software 

#    in a product, an acknowledgment in the product documentation would be 

#    appreciated but is not required. 

# 2. Altered source versions must be plainly marked as such, and must not be 

#    misrepresented as being the original software. 

# 3. This notice may not be removed or altered from any source distribution. 

 

import datetime 

import time 

 

from _sqlite3 import * 

 

paramstyle = "qmark" 

 

threadsafety = 1 

 

apilevel = "2.0" 

 

Date = datetime.date 

 

Time = datetime.time 

 

Timestamp = datetime.datetime 

 

def DateFromTicks(ticks): 

    return Date(*time.localtime(ticks)[:3]) 

 

def TimeFromTicks(ticks): 

    return Time(*time.localtime(ticks)[3:6]) 

 

def TimestampFromTicks(ticks): 

    return Timestamp(*time.localtime(ticks)[:6]) 

 

version_info = tuple([int(x) for x in version.split(".")]) 

sqlite_version_info = tuple([int(x) for x in sqlite_version.split(".")]) 

 

Binary = buffer 

 

def register_adapters_and_converters(): 

    def adapt_date(val): 

        return val.isoformat() 

 

    def adapt_datetime(val): 

        return val.isoformat(" ") 

 

    def convert_date(val): 

        return datetime.date(*map(int, val.split("-"))) 

 

    def convert_timestamp(val): 

        datepart, timepart = val.split(" ") 

        year, month, day = map(int, datepart.split("-")) 

        timepart_full = timepart.split(".") 

        hours, minutes, seconds = map(int, timepart_full[0].split(":")) 

        if len(timepart_full) == 2: 

            microseconds = int('{:0<6.6}'.format(timepart_full[1].decode())) 

        else: 

            microseconds = 0 

 

        val = datetime.datetime(year, month, day, hours, minutes, seconds, microseconds) 

        return val 

 

 

    register_adapter(datetime.date, adapt_date) 

    register_adapter(datetime.datetime, adapt_datetime) 

    register_converter("date", convert_date) 

    register_converter("timestamp", convert_timestamp) 

 

register_adapters_and_converters() 

 

# Clean up namespace 

 

del(register_adapters_and_converters)