File: module-sqlobject.declarative.html

package info (click to toggle)
sqlobject 3.1.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 9,280 kB
  • ctags: 17,912
  • sloc: python: 16,713; sh: 18; makefile: 13
file content (137 lines) | stat: -rw-r--r-- 5,303 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
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

  <h1 class="pudge-member-page-heading">
    <tt>declarative</tt>
  </h1>
  <h4 class="pudge-member-page-subheading">
    Declarative objects.
  </h4>
  <p class="pudge-member-parent-link">
    <small>
    The declarative module is accessible via the
    <a href="module-sqlobject.html">
      <tt>sqlobject</tt>
    </a> module.
    </small>
  </p>
  <div id="pudge-section-nav">
  <ul>
    <li>
      <a href="#attributes" class="pudge-section-link">
        Attributes (1)
      </a>
    </li><li>
      <span class="pudge-missing-section-link">
        Functions
      </span>
    </li><li>
      <a href="#classes" class="pudge-section-link">
        Classes (3)
      </a>
    </li><li>
      <span class="pudge-missing-section-link">
        Modules
      </span>
    </li>
    <li>
      <a href="module-sqlobject.declarative-index.html" class="pudge-section-link">
        Index
      </a>
    </li>
    <li>
      <a href="sqlobject/declarative.py.html" class="pudge-section-link">
        Source
      </a>
    </li>
  </ul>
  </div>
  <div style="clear: left"></div>
  <div class="rst pudge-module-doc">
    <p>Declarative objects have a simple protocol: you can use classes in
lieu of instances and they are equivalent, and any keyword arguments
you give to the constructor will override those instance variables.
(So if a class is received, we'll simply instantiate an instance with
no arguments).</p>
<p>You can provide a variable __unpackargs__ (a list of strings), and if
the constructor is called with non-keyword arguments they will be
interpreted as the given keyword arguments.</p>
<p>If __unpackargs__ is ('*', name), then all the arguments will be put
in a variable by that name.</p>
<p>You can define a __classinit__(cls, new_attrs) method, which will be
called when the class is created (including subclasses).  Note: you
can't use super() in __classinit__ because the class isn't bound to a
name.  As an analog to __classinit__, Declarative adds
__instanceinit__ which is called with the same argument (new_attrs).
This is like __init__, but after __unpackargs__ and other factors have
been taken into account.</p>
<p>If __mutableattributes__ is defined as a sequence of strings, these
attributes will not be shared between superclasses and their
subclasses.  E.g., if you have a class variable that contains a list
and you append to that list, changes to subclasses will effect
superclasses unless you add the attribute here.</p>
<p>Also defines classinstancemethod, which acts as either a class method
or an instance method depending on where it is called.</p>
  </div>
  <hr>
    <a name="attributes"></a>
    <h2>Attributes</h2>
    <div class="pudge-member name">
    <a name="__package__"></a>
    <h4 class="pudge-member-name"><span class="prefix">a</span>
      <tt><a href="module-sqlobject.declarative.html#__package__" class="pudge-obj-link">__package__</a></tt></h4>
    <div class="pudge-section rst">
      <pre>'sqlobject'</pre>
    </div>
  </div>
    <a name="classes"></a>
    <h2>Classes</h2>
    <div class="pudge-member class ">
    <h4 class="pudge-member-name"><span class="prefix">C</span>
      <tt>
        <a href="class-sqlobject.declarative.classinstancemethod.html" class="pudge-obj-link">classinstancemethod</a>(...)</tt>
      <a href="sqlobject/declarative.py.html?f=45&amp;l=58#45" class="pudge-member-view-source" title="View Source">...</a>
    </h4>
    <div class="pudge-section rst">
    <p class="pudge-member-blurb">
      Acts like a class method when called from a class, like an
instance method when called by an instance.  The method should
take two arguments, 'self' and 'cls'; one of these will be None
depending on how the method was called.
    </p>
      <p class="note">
        This class contains <a href="class-sqlobject.declarative.classinstancemethod.html#members">
          5 members</a>.
      </p>
    </div>
  </div><div class="pudge-member class ">
    <h4 class="pudge-member-name"><span class="prefix">C</span>
      <tt>
        <a href="class-sqlobject.declarative.DeclarativeMeta.html" class="pudge-obj-link">DeclarativeMeta</a>(...)</tt>
      <a href="sqlobject/declarative.py.html?f=82&amp;l=102#82" class="pudge-member-view-source" title="View Source">...</a>
    </h4>
    <div class="pudge-section rst">
      <p class="note">
        This class contains <a href="class-sqlobject.declarative.DeclarativeMeta.html#members">
          23 members</a>.
      </p>
    </div>
  </div><div class="pudge-member class ">
    <h4 class="pudge-member-name"><span class="prefix">C</span>
      <tt>
        <a href="class-sqlobject.declarative.Declarative.html" class="pudge-obj-link">Declarative</a>(...)</tt>
      <a href="sqlobject/declarative.py.html?f=104&amp;l=206#104" class="pudge-member-view-source" title="View Source">...</a>
    </h4>
    <div class="pudge-section rst">
      <p class="note">
        This class contains <a href="class-sqlobject.declarative.Declarative.html#members">
          12 members</a>.
      </p>
    </div>
  </div>
  <p>
    <small>
    See 
    <a href="sqlobject/declarative.py.html" title="sqlobject/declarative.py:0">the source</a>
    for more information.
    </small>
  </p>