Lines Matching refs:self
35 def __init__(self, name):
36 self.name = name
37 self.fields = []
39 def add_field(self, index, name, type):
40 self.fields.append((index,name,type))
42 def sql(self):
45 self.fields.sort()
46 fields = [None]*len(self.fields)
47 for index, name, type in self.fields:
51 print("%s.%s unknown bits %x" % (self.name, name, unk))
70 print("%s.%sunknown integer type %d" % (self.name, name, size))
82 return "CREATE TABLE %s (%s PRIMARY KEY %s)" % (self.name, fields, keys)
84 def create(self, db):
85 v = db.OpenView(self.sql())
191 def __init__(self, name):
192 self.name = name
193 self.files = []
194 self.filenames = set()
195 self.index = 0
197 def gen_id(self, file):
200 while logical in self.filenames:
203 self.filenames.add(logical)
206 def append(self, full, file, logical):
210 logical = self.gen_id(file)
211 self.index += 1
212 self.files.append((full, logical))
213 return self.index, logical
215 def commit(self, db):
218 FCICreate(filename, self.files)
220 [(1, self.index, None, "#"+self.name, None, None)])
221 add_stream(db, self.name, filename)
227 def __init__(self, db, cab, basedir, physical, _logical, default, componentflags=None):
243 self.db = db
244 self.cab = cab
245 self.basedir = basedir
246 self.physical = physical
247 self.logical = logical
248 self.component = None
249 self.short_names = set()
250 self.ids = set()
251 self.keyfiles = {}
252 self.componentflags = componentflags
254 self.absolute = os.path.join(basedir.absolute, physical)
257 self.absolute = physical
261 def start_component(self, component = None, feature = None, flags = None, keyfile = None, uuid=None):
268 flags = self.componentflags
274 component = self.logical
275 self.component = component
279 keyid = self.cab.gen_id(keyfile)
280 self.keyfiles[keyfile] = keyid
283 add_data(self.db, "Component",
284 [(component, uuid, self.logical, flags, None, keyid)])
287 add_data(self.db, "FeatureComponents",
290 def make_short(self, file):
312 if file is None or file in self.short_names:
322 if file not in self.short_names: break
327 self.short_names.add(file)
331 def add_file(self, file, src=None, version=None, language=None):
337 if not self.component:
338 self.start_component(self.logical, current_feature, 0)
343 absolute = os.path.join(self.absolute, src)
345 if file in self.keyfiles:
346 logical = self.keyfiles[file]
349 sequence, logical = self.cab.append(absolute, file, logical)
350 assert logical not in self.ids
351 self.ids.add(logical)
352 short = self.make_short(file)
359 add_data(self.db, "File",
360 [(logical, self.component, full, filesize, version,
365 # add_data(self.db, "MsiFileHash",
373 add_data(self.db, "RemoveFile",
374 [(logical+"c", self.component, "%sC|%sc" % (short, file),
375 self.logical, 2),
376 (logical+"o", self.component, "%sO|%so" % (short, file),
377 self.logical, 2)])
380 def glob(self, pattern, exclude = None):
384 files = os.listdir(self.absolute)
392 self.add_file(f)
395 def remove_pyc(self):
397 add_data(self.db, "RemoveFile",
398 [(self.component+"c", self.component, "*.pyc", self.logical, 2)])
401 def __init__(self, fname):
402 self.name = fname
403 def __repr__(self):
404 return 'msilib.Binary(os.path.join(dirname,"%s"))' % self.name
407 def __init__(self, db, id, title, desc, display, level = 1,
409 self.id = id
415 def set_current(self):
417 current_feature = self
420 def __init__(self, dlg, name):
421 self.dlg = dlg
422 self.name = name
424 def event(self, event, argument, condition = "1", ordering = None):
425 add_data(self.dlg.db, "ControlEvent",
426 [(self.dlg.name, self.name, event, argument,
429 def mapping(self, event, attribute):
430 add_data(self.dlg.db, "EventMapping",
431 [(self.dlg.name, self.name, event, attribute)])
433 def condition(self, action, condition):
434 add_data(self.dlg.db, "ControlCondition",
435 [(self.dlg.name, self.name, action, condition)])
438 def __init__(self, dlg, name, property):
439 self.dlg = dlg
440 self.name = name
441 self.property = property
442 self.index = 1
444 def add(self, name, x, y, w, h, text, value = None):
447 add_data(self.dlg.db, "RadioButton",
448 [(self.property, self.index, value,
450 self.index += 1
453 def __init__(self, db, name, x, y, w, h, attr, title, first, default, cancel):
454 self.db = db
455 self.name = name
456 self.x, self.y, self.w, self.h = x,y,w,h
459 def control(self, name, type, x, y, w, h, attr, prop, text, next, help):
460 add_data(self.db, "Control",
461 [(self.name, name, type, x, y, w, h, attr, prop, text, next, help)])
462 return Control(self, name)
464 def text(self, name, x, y, w, h, attr, text):
465 return self.control(name, "Text", x, y, w, h, attr, None,
468 def bitmap(self, name, x, y, w, h, text):
469 return self.control(name, "Bitmap", x, y, w, h, 1, None, text, None, None)
471 def line(self, name, x, y, w, h):
472 return self.control(name, "Line", x, y, w, h, 1, None, None, None, None)
474 def pushbutton(self, name, x, y, w, h, attr, text, next):
475 return self.control(name, "PushButton", x, y, w, h, attr, None, text, next, None)
477 def radiogroup(self, name, x, y, w, h, attr, prop, text, next):
478 add_data(self.db, "Control",
479 [(self.name, name, "RadioButtonGroup",
481 return RadioButtonGroup(self, name, prop)
483 def checkbox(self, name, x, y, w, h, attr, prop, text, next):
484 return self.control(name, "CheckBox", x, y, w, h, attr, prop, text, next, None)