[CSProjects] Parametrii in linia de comanda

Vlad Dogaru ddvlad at anaconda.cs.pub.ro
Tue Aug 14 00:54:28 EEST 2007


Alex Eftimie wrote:
> On 8/12/07, Vlad Dogaru <ddvlad at anaconda.cs.pub.ro> wrote:
>> andrew b wrote:
>>> Salut!
>>>
>>> Avem o mica problema in legatura cu parametrii din linia de comanda,
>>> Alex sugereaza foarte tare sa folosesc getopt si astfel sa respect
>>> standardul linux, eu nu prea sunt de accord pentru ca se pierde o
>>> anumita logica.
>>>
>>> Cum arata in momentul actual main-ul "cspay -x xml -n -f ini" nu este
>>> corect, daca e sa luam dupa Alex ar fi corect indiferent de ordine, el
>>> mai si sugera sa eliminam parametrii "-i" si "-n" pe care ii dorea
>>> lucian si astfel se mai elimina din problemele de logica.
>> Eu cred că parametrii ar trebui să poată fi furnizaţi în orice ordine,
>> ceea ce poate fi făcut relativ uşor chiar şi fără getopt(3) sau popt(3).
>> Aceste două rutine mi s-au părut stufoase, deşi probabil nu sunt peste
>> posibilităţile noastre de înţelegere, ci doar prea complicate pentru
>> nevoile noastre. Şi nici nu ştiu despre compatibilitate: getopt e
>> extensie GNU, nu e ANSI, or so I take it from the man page.
>>
>>> Mai era si problema daca fisierul xml era optional, Lucian mi-a zis ca
>>> trebuie sa-l citesc mereu din linia de comanda, dar Alex mi-a zis ca
>>> poate fi si unul implicit.
>> /etc/cspay/global.xml sau /etc/cspay.xml mi se pare adecvat pentru o
>> locaţie implicită.
>>
>> Dar... dacă transimtem fişierul de configurare în linia de comandă,
>> scriptul PHP ar trebui să ştie de undeva locaţia fişierului de
>> configurare. De unde? Din fişierul de configurare? Ciclic! Din alt
>> fişier? Prea complicat!
>>
>> Cred că cea mai bună soluţie (deşi inflexibilă şi un compromis) ar fi să
>> setăm la compilare calea către fişierul de configurare şi să eliminăm
>> paramterul ăla. Şi să se poată schimba locul fişierului de configurare
>> fie prin simpla editare a unei surse din cspay, fie printr-un parametru
>> la eventualul script de configure.
>>
>> Vlad
>> --
>> Number one reason to date an engineer:
>> The world does revolve around us; we pick the coordinate system.
>> _______________________________________________
>> CSProjects mailing list
>> CSProjects at anaconda.cs.pub.ro
>> http://anaconda.cs.pub.ro/cgi-bin/mailman/listinfo/csprojects
>>
> Total de acord cu Vlad (Andrei: foloseste getopt ^:)^) mai putin
> partea cu eliminarea parametrului: cred ca e bine sa fie optional,
> insa nu compilarea in programul c ci simpla editarea a fisierului PHP
> corespunzator ar fi solutia. PHP e doar script, si a schimba o linie
> de genul define(CSPAY_URL, '/etc/cspay/cspay.xml') mi se pare mai
> simpla de cat adaugarea in configure sau in sursa c.

Aveam o problemă de logică în momentul în care am scris aia. Aveam 
impresia că nu va exista decât fişierul principal de configurare în XML. 
Dar probabil şi partea în PHP are nevoie de o configurare separată, şi 
asta are sens: pe de o parte, cspay configurat din XML, pe de alta 
interfaţa configurată dintr-un fişier PHP, ca multe alte scripturi de 
genul ăsta. În privinţa asta Alex are dreptate.

Vlad

-- 
Number one reason to date an engineer:
The world does revolve around us; we pick the coordinate system.



More information about the cspay-dev mailing list