[Gelistirici] autoxml -> autopiksemel
S.Çağlar Onur
caglar at pardus.org.tr
28 Nis 2007 Cmt 23:22:18 EEST
28 Nis 2007 Cts tarihinde, Gürer Özen şunları yazmıştı:
> Özellikle tanımlamaların yazıldığı sentaks konusunda fikirleriniz lazım,
> anlaşılıyor mu, daha kısa yazılabilir mi vb..
>
> Hazır olunca, PiSi'ye entegre etmek için, rm -rf pisi/pxml yaptıktan sonra,
> specfile.py gibi yerlerdeki tanımlamaları yeni sentaksla değiştirmek
> yetecek.
Syntax bence yeterince hoş duruyor (autoxml'in sevdiğim tek yanı syntax'ı
zaten :P) fakat aklıma başka bir soru takıldı;
class Source(AutoPiksemel):
name = Tag("Name")
homepage = Tag("Homepage")
packager = Tag("Packager", Packager)
summary = TagLocalized("Summary")
description = TagLocalized("Description", optional)
isa = Tag("IsA", optional, multiple)
partof = Tag("PartOf", optional)
icon = Tag("Icon", optional)
license = Tag("License", multiple)
archive = Tag("Archive", Archive)
patches = TagCollection("Patches", "Patch", Patch, optional)
build_deps = TagCollection("BuildDependencies","Dependency", Dependency,
optional)
# Following are found in the index, not in pspecs
version = Tag("Version", optional)
release = Tag("Release", optional)
sourceuri = Tag("SourceURI", optional)
def validate(self, ctx):
valid_isas = (
"app", "app:console", "app:gui", "app:web",
"library", "service", "kernel", "driver",
"data", "data:doc", "data:font",
"locale", "locale:tr", "locale:en", "locale:es", "locale:nl",
"locale:de", "locale:it", "locale:fr"
)
for isa in self.isa:
if isa not in valid_isas:
ctx.error("invalid IsA value '%s'" % isa)
Yeni specfile'ın sadece tanımlamaları içeren bir yapıda olmasını tercih
edeceğim sanırım bunu sağlamak için validateleri alıp tek başına bir
Validator class/methodları serisi yapıp bunu kullansak ve her tag veya class
ile eşleştirsek daha hoş/temiz/doğru olacak gibi.
class Source(AutoPiksemel):
name = Tag("Name", validator.validName)
homepage = Tag("Homepage", validator.validHomepage)
...
isa = Tag("IsA", optional, validator.validateISA)
....
Ne dersiniz?
--
S.Çağlar Onur <caglar at pardus.org.tr>
http://cekirdek.pardus.org.tr/~caglar/
Linux is like living in a teepee. No Windows, no Gates and an Apache in house!
-------------- sonraki bölüm --------------
A non-text attachment was scrubbed...
Name: kullanılamıyor
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://liste.pardus.org.tr/gelistirici/attachments/20070428/c700de04/attachment-0002.pgp>
Gelistirici mesaj listesiyle ilgili
daha fazla bilgi