Пример #1
0
    def create(self, **kw):
	"""Create a new vendor and save it to the database."""
	user = request.environ.get('repoze.who.identity')['user']
	name = kw['name']
	website = kw['website']
	comment = kw['comment']
	owner = User.by_user_name(kw['owner'])
	if comment == "":
		comment = name
	vendor = Vendor()
	vendor.name = name
	vendor.website = website
	vendor.state.creator = user
	vendor.state.owner = owner
	vendor.comments.append(Comment(comment=comment))
	DBSession.add(vendor)
	DBSession.flush()
	redirect("index")
Пример #2
0
    def default(self, *args):
	admin=False
	if predicates.not_anonymous():
		if predicates.has_permission('admin'):
			admin=True
	vendor_name = args[0]
	vendor = Vendor.by_vendor_name(vendor_name)
	names = vendor.other_names
	return dict(vendor=vendor, names=names,
		    admin=admin)
Пример #3
0
    def create(self, **kw):
	"""Create a new osfamily and save it to the database."""
	user = request.environ.get('repoze.who.identity')['user']
	name = kw['name']
	vendor = Vendor.by_vendor_name(kw['vendor'])
	comment = kw['comment']
	owner = User.by_user_name(kw['owner'])
	if comment == "":
		comment = name
	osfamily = OSFamily()
	osfamily.name = name
	osfamily.vendor = vendor
	osfamily.state.creator = user
	osfamily.state.owner = owner
	osfamily.comments.append(Comment(comment=comment))
	DBSession.add(osfamily)
	DBSession.flush()
	redirect("index")
Пример #4
0
    def create(self, **kw):
	"""Create a new device and save it to the database."""
	user = request.environ.get('repoze.who.identity')['user']
	name = kw['name']
	vendor = Vendor.by_vendor_name(kw['vendor'])
	devicetype = DeviceType.by_devicetype_name(kw['type'])
	version = kw['version']
	comment = kw['comment']
	owner = User.by_user_name(kw['owner'])
	if comment == "":
		comment = name
	device = Device()
	device.name = name
	device.vendor = vendor
	device.devicetype = devicetype
	device.version = version
	device.state.creator = user
	device.state.owner = owner
	device.comments.append(Comment(comment=comment))
	DBSession.add(device)
	DBSession.flush()
	redirect("index")
Пример #5
0
    def create(self, **kw):
	"""Create a new kernel and save it to the database."""
	user = request.environ.get('repoze.who.identity')['user']
	name = kw['name']
	arch = Arch.by_arch_name(kw['arch'])
	osrelease = OSRelease.by_osrelease_name(kw['osrelease'])
	vendor = Vendor.by_vendor_name(kw['vendor'])
	comment = kw['comment']
	owner = User.by_user_name(kw['owner'])
	if comment == "":
		comment = name
	kernel = Kernel()
	kernel.name = name
	kernel.arch = arch
	kernel.osrelease = osrelease
	kernel.vendor = vendor
	kernel.state.creator = user
	kernel.state.owner = owner
	kernel.comments.append(Comment(comment=comment))
	DBSession.add(kernel)
	DBSession.flush()
	redirect("index")
Пример #6
0
    def create(self, **kw):
	"""Create a new device and save it to the database."""
	user = request.environ.get('repoze.who.identity')['user']
	name = kw['name']
	vendor = Vendor.by_vendor_name(kw['vendor'])
	systemfamily = SystemFamily.by_systemfamily_name(kw['family'])
	version = kw['version']
	comment = kw['comment']
	owner = User.by_user_name(kw['owner'])
	if comment == "":
		comment = name
	system = System()
	system.name = name
	system.vendor = vendor
	system.systemfamily = systemfamily
	system.version = version
	system.state.creator = user
	system.state.owner = owner
	system.comments.append(Comment(comment=comment))
	DBSession.add(system)
	DBSession.flush()
	redirect("index")
Пример #7
0
    def create(self, **kw):
	"""Create a new driverbuild and save it to the database."""
	user = request.environ.get('repoze.who.identity')['user']
	driver = Driver.by_driver_id(kw['driver_id'])
	kernel = Kernel.by_kernel_name(kw['kernel'])
	vendor = Vendor.by_vendor_name(kw['vendor'])
	version = kw['version']
	comment = kw['comment']
	owner = User.by_user_name(kw['owner'])
	if comment == "":
		comment = name
	driverbuild = DriverBuild()
	driverbuild.driver = driver
	driverbuild.kernel = kernel
	driverbuild.vendor = vendor
	driverbuild.version = version
	driverbuild.state.creator = user
	driverbuild.state.owner = owner
	driverbuild.comments.append(Comment(comment=comment))
	DBSession.add(driverbuild)
	DBSession.flush()
	redirect("/drivers/"+driver.name)
Пример #8
0
    def create(self, **kw):
	"""Create a new driver and save it to the database."""
	user = request.environ.get('repoze.who.identity')['user']
	name = kw['name']
	drivertype = DriverType.by_drivertype_name(kw['type'])
	license = License.by_license_name(kw['license'])
	vendor = Vendor.by_vendor_name(kw['vendor'])
	version = kw['version']
	comment = kw['comment']
	owner = User.by_user_name(kw['owner'])
	if comment == "":
		comment = name
	driver = Driver()
	driver.name = name
	driver.drivertype = drivertype
	driver.license = license
	driver.vendor = vendor
	driver.version = version
	driver.state.creator = user
	driver.state.owner = owner
	driver.comments.append(Comment(comment=comment))
	DBSession.add(driver)
	DBSession.flush()
	redirect("index")
Пример #9
0
def get_driverDescs(system_vendor_name, system_product_name,
		    osfamily_name, osrelease_version,
		    kernel_name, arch_name,
		    components):

	system = None

	system_vendor = Vendor.by_vendor_name(system_vendor_name)
	if system_vendor:
		system = System.by_system_vendor_and_name(system_vendor,
							  system_product_name)

	# components are only optional if the system detail is supplied.
	if (not system) and (components==[]):
		return {}

	# FIXME: must parse modaliases specially if they are here
	# will add a special meta-tag to indicate the requirement.
	devices = []
	for component in components:
		devicealias = DeviceAlias.by_devicealias(component)
		if devicealias:
			devices.append(devicealias.device)

	osrelease = None
	osfamily = OSFamily.by_osfamily_name(osfamily_name)
	if osfamily:
		osrelease = OSRelease.by_osrelease_osfamily_and_version(
							  osfamily,
							  osrelease_version)

	# not going to return any devices unless an OSRelease is given
	if not osrelease:
		return {}

	arch = Arch.by_arch_name(arch_name)
	# not going to return any devices unless an Arch is given
	if not arch:
		return {}

	kernel = Kernel.by_kernel_osrelease_arch_and_name(osrelease,
							  arch,
							  kernel_name)
	# not going to return any devices unless a Kernel is given
	if not kernel:
		return {}

	results = {}
	for device in system.devices:
		# ignore the device if it wasn't asked about or none were
		if (not components==[]) and (not device in devices):
			continue

		for driver in device.drivers:
			if kernel in driver.kernels:
				driver_type=driver.drivertype.name
				driver_meta={}
				for meta in driver.drivermeta:
					driver_meta[meta.tag] = meta.value
				free=driver.license.free
				license=driver.license.name

				prefix=driver.drivertype.prefix
				for alias in device.devicealiases:
					devalias = prefix + alias.alias

					for build in driver.driverbuilds:
						driver_vendor=build.vendor.name
						build_meta={}
						for meta in build.driverbuildmeta:
							build_meta[meta.tag] = meta.value
						description={}
						for desc in build.descriptions:
							description[desc.locale] = desc.description
						
						result = {
							'driver_type': driver_type,
							'driver_vendor': driver_vendor,
							'description': description,
							'free': free,
							'license': license}
						result.update(driver_meta)
						result.update(build_meta)

						if results.has_key(devalias):
							results[devalias].append(result)
						else:
							results[devalias] = [result]

	return results