This file is indexed.

/usr/share/pyshared/PythonCard/spec.py is in python-pythoncard 0.8.2-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
# __version__ = "$Revision: 1.24 $"
# __date__ = "$Date: 2004/05/10 05:01:58 $"

# The format of an entry is:
#
#    '<entry-name>' : {
#        'parent' : < <class-name> | None > ,
#        'events' : < [ '<event-name>', ... ] >,
#        'attributes' : < { '<attribute-name>' : { 
#                         'presence' : < 'mandatory' | 'optional' >,
#                         'default' : <valid-python-value> 
#                       > }
#   }

# How do we distinguish between resource/runtime

# Will 'mouseClick' work if specified in Widget's event list?

# Note that events and attributes are inherited.  The res.Spec class
# depends on the following entries being in order from top to bottom
# based on inheritance.  Component must appear before Widget, Widget
# must appear before TextField, Textfield must appear before PasswordField,
# ad nauseum ;)

specList = [

   { 'name':'Component', 'info':{
        'parent' : None,
        'events' : [],
        'attributes' : {
            'name' : { 'presence' : 'mandatory' },
            'command' : { 'presence' : 'optional', 'default' : None }
        }
    }},

   { 'name':'Application', 'info': {
        'parent' : None,
        'events' : [],
        'attributes' : {
            'name' : { 'presence' : 'mandatory' },
        }
    }},

   { 'name':'MenuBar', 'info': {
        'parent' : None,
        'events' : [],
        'attributes' : {
            'menus' : { 'presence' : 'optional', 'default': [] }
        }
    }},

   { 'name':'Menu' , 'info': {
        'parent' : None,
        'events' : [],
        'attributes' : {
            'name' : { 'presence' : 'mandatory' },
            'label' : { 'presence' : 'mandatory' },
            'enabled' : { 'presence' : 'optional', 'default' : 1 },
            'items' : { 'presence' : 'optional', 'default': [] }
        }
    }},

   { 'name':'MenuItem', 'info': {
        'parent' : 'Component',
        'events' : [],
        'attributes' : {
            'label' : { 'presence' : 'mandatory' },
            'checkable' : { 'presence' : 'optional', 'default': 0 },
            'checked' : { 'presence' : 'optional', 'default': 0 },
            'enabled' : { 'presence' : 'optional', 'default' : 1 }
            }
    }},

   { 'name':'Background', 'info': {
        'parent' : None,
        'events' : ['openBackground'],
        'attributes' : {
            'name' : { 'presence' : 'mandatory' },
            'title' : { 'presence' : 'mandatory' },
            'position' : { 'presence' : 'optional', 'default' : [ -1, -1 ] },
            'size' : { 'presence' : 'optional', 'default' : [ -1, -1 ] },
            'menubar' : { 'presence' : 'optional', 'default' : None },
            'statusBar' : { 'presence' : 'optional', 'default' : 0 },
            'icon' : { 'presence' : 'optional', 'default' : None },
            'foregroundColor' : { 'presence' : 'optional', 'default' : None },
            'backgroundColor' : { 'presence' : 'optional', 'default' : None },
            'image' : { 'presence' : 'optional', 'default' : None } ,
            'tiled' : { 'presence' : 'optional', 'default' : 0 },
            'visible' : { 'presence' : 'optional', 'default' : 1 },
            'style' : { 'presence' : 'optional', 'default' : [] },
            'strings': { 'presence' : 'optional', 'default' : {} },

        }
    }},

   { 'name':'CustomDialog', 'info': {
        'parent' : None,
        #'events' : ['openBackground'],
        'events' : [],
        'attributes' : {
            'name' : { 'presence' : 'mandatory' },
            'title' : { 'presence' : 'mandatory' },
            'position' : { 'presence' : 'optional', 'default' : [ -1, -1 ] },
            'size' : { 'presence' : 'optional', 'default' : [ -1, -1 ] },
            #'file' : { 'presence' : 'mandatory' } ,
            #'foregroundColor' : { 'presence' : 'optional', 'default' : None },
            #'backgroundColor' : { 'presence' : 'optional', 'default' : None },
            'strings': { 'presence' : 'optional', 'default' : {} },
        }
    }},


]