pywrapper-devel Mailing List for pywrapper (Page 6)
Status: Alpha
Brought to you by:
jatorre
You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
(10) |
Apr
|
May
(4) |
Jun
|
Jul
(40) |
Aug
(20) |
Sep
|
Oct
(10) |
Nov
(112) |
Dec
(18) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(8) |
Feb
|
Mar
|
Apr
(6) |
May
(13) |
Jun
(12) |
Jul
(5) |
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
(3) |
2008 |
Jan
|
Feb
|
Mar
(1) |
Apr
(1) |
May
(3) |
Jun
(3) |
Jul
(6) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <wi...@go...> - 2006-11-16 17:49:16
|
Milko, isNotNull would change TAPIR and destroys the "symmetry" of =20 the protocol. that is no solution anymore. but ive added the paranthesis to NOT, that fixes it. SOLVED! markus On 16.11.2006, at 18:25, Skofic A. Milko (IPGRI) wrote: I updated and now you can save the configurations fine, fixed! Now, regarding NULLs, this is the reference SQL query that I send (to =20= determine the correct count), this would be the query if we had the =20 isNotNull operator: A.) SELECT COUNT(DISTINCT `acc`.`AccessionID`) FROM `acc` WHERE=20 ( (`LATITUDE` IS NOT NULL) AND (`LONGITUDE` IS NOT NULL) ) Here is the query I send to TAPIR: <?xml version=3D'1.0' encoding=3D'utf-8'?> <request> <header> <source accesspoint=3D"http://tapir.grinfo.net:8080/pywrapper/=20 pywrapper?dsa=3DEURISCO" sendtime=3D"2006-11-13T12:54:29.43" /> </header> <search count=3D'true' start=3D'0' limit=3D'0'> <externalOutputModel location=3D"http://eurisco.ecpgr.org/models/=20= output/MCPD_EURISCO_1.00.xml" /> <filter> <and> <not> <isNull> <concept id=3D'LATITUDED@mcpd_eurisco_100' /> </isNull> </not> <not> <isNull> <concept id=3D'LONGITUDED@mcpd_eurisco_100' /> </isNull> </not> </and> </filter> </search> </request> This is the SQL that TAPIR does: B.) SELECT COUNT(DISTINCT ACC.AccessionID) FROM acc AS ACC WHERE (NOT =20= ACC.LATITUDE is NULL AND NOT ACC.LONGITUDE is NULL) On EURISCO data source: A.) returns 63618 records B.) returns 930966 records On EURISCO_TEST data source: A.) SELECT COUNT(DISTINCT `acc`.`AccessionID`) FROM `acc` LEFT JOIN =20 `coordinates` ON `acc`.`CoordinatesID` =3D `coordinates`.`ID` WHERE=20 ( (`coordinates`.`LATITUDE` IS NOT NULL) AND =20 (`coordinates`.`LONGITUDE` IS NOT NULL) ) B.) SELECT COUNT(DISTINCT ACC.AccessionID) FROM acc AS ACC JOIN =20 coordinates AS COORDINATES ON ACC.CoordinatesID =3D COORDINATES.ID =20 WHERE (NOT COORDINATES.LATITUDE is NULL AND NOT COORDINATES.LONGITUDE =20= is NULL) In this case both queries return the same result (the correct one): =20 63618 records. So, the problem we had when TAPIR was not including a table in the =20 FROM clause is resolved, but we still gave a problem with the SQL it =20 generates. Going back to the EURISCO data source here are some tests I did: SELECT COUNT(DISTINCT ACC.AccessionID) FROM acc AS ACC WHERE( (NOT =20 ACC.LATITUDE is NULL) AND (NOT ACC.LONGITUDE is NULL) ) returns 930966 records: wrong SELECT COUNT(DISTINCT ACC.AccessionID) FROM acc AS ACC WHERE( (NOT =20 (ACC.LATITUDE is NULL)) AND (NOT (ACC.LONGITUDE is NULL)) ) returns 63618 records: correct! The second version works, although you get an indigestion of =20 parenthesis. That's why I was wondering if it would not be easier to =20 implement the isNotNull operator, since I think it will be used much =20 more than the isNull one. Hope it helps. Bye! Milko On Nov 16, 2006, at 16:59 , Markus D=F6ring wrote: > ahh. I found that it only occurs with NOTs in the filter. otherwise =20= > it was working. > and I actually found something in the filters. can you try the new =20 > trunk? im curious if this fixes it! > > markus > > On 11/16/06, "D=F6ring, Markus" <m.d...@bg...> wrote: > > -----Original Message----- > From: pyw...@li... [mailto: =20 > pyw...@li...] On Behalf Of Skofic =20 > A. Milko (IPGRI) > Sent: Donnerstag, 16. November 2006 09:18 > To: Markus D=F6ring > Cc: pyw...@li... ; Javier privat > Subject: Re: [PyWrapper-devel] SQL syntax > > > I tried to install it on the server but TAPIR gave me errors when > loading the structure, fortunately it left a dot file before > crashing. Here is the structure of the database, I send you both the > dot file and a .png > > > > |
From: Skofic A. M. (IPGRI) <m.s...@cg...> - 2006-11-16 17:26:16
|
I updated and now you can save the configurations fine, fixed! Now, regarding NULLs, this is the reference SQL query that I send (to =20= determine the correct count), this would be the query if we had the =20 isNotNull operator: A.) SELECT COUNT(DISTINCT `acc`.`AccessionID`) FROM `acc` WHERE=20 ( (`LATITUDE` IS NOT NULL) AND (`LONGITUDE` IS NOT NULL) ) Here is the query I send to TAPIR: <?xml version=3D'1.0' encoding=3D'utf-8'?> <request> <header> <source accesspoint=3D"http://tapir.grinfo.net:8080/pywrapper/=20 pywrapper?dsa=3DEURISCO" sendtime=3D"2006-11-13T12:54:29.43" /> </header> <search count=3D'true' start=3D'0' limit=3D'0'> <externalOutputModel location=3D"http://eurisco.ecpgr.org/models/=20= output/MCPD_EURISCO_1.00.xml" /> <filter> <and> <not> <isNull> <concept id=3D'LATITUDED@mcpd_eurisco_100' /> </isNull> </not> <not> <isNull> <concept id=3D'LONGITUDED@mcpd_eurisco_100' /> </isNull> </not> </and> </filter> </search> </request> This is the SQL that TAPIR does: B.) SELECT COUNT(DISTINCT ACC.AccessionID) FROM acc AS ACC WHERE (NOT =20= ACC.LATITUDE is NULL AND NOT ACC.LONGITUDE is NULL) On EURISCO data source: A.) returns 63618 records B.) returns 930966 records On EURISCO_TEST data source: A.) SELECT COUNT(DISTINCT `acc`.`AccessionID`) FROM `acc` LEFT JOIN =20 `coordinates` ON `acc`.`CoordinatesID` =3D `coordinates`.`ID` WHERE=20 ( (`coordinates`.`LATITUDE` IS NOT NULL) AND =20 (`coordinates`.`LONGITUDE` IS NOT NULL) ) B.) SELECT COUNT(DISTINCT ACC.AccessionID) FROM acc AS ACC JOIN =20 coordinates AS COORDINATES ON ACC.CoordinatesID =3D COORDINATES.ID =20 WHERE (NOT COORDINATES.LATITUDE is NULL AND NOT COORDINATES.LONGITUDE =20= is NULL) In this case both queries return the same result (the correct one): =20 63618 records. So, the problem we had when TAPIR was not including a table in the =20 FROM clause is resolved, but we still gave a problem with the SQL it =20 generates. Going back to the EURISCO data source here are some tests I did: SELECT COUNT(DISTINCT ACC.AccessionID) FROM acc AS ACC WHERE( (NOT =20 ACC.LATITUDE is NULL) AND (NOT ACC.LONGITUDE is NULL) ) returns 930966 records: wrong SELECT COUNT(DISTINCT ACC.AccessionID) FROM acc AS ACC WHERE( (NOT =20 (ACC.LATITUDE is NULL)) AND (NOT (ACC.LONGITUDE is NULL)) ) returns 63618 records: correct! The second version works, although you get an indigestion of =20 parenthesis. That's why I was wondering if it would not be easier to =20 implement the isNotNull operator, since I think it will be used much =20 more than the isNull one. Hope it helps. Bye! Milko On Nov 16, 2006, at 16:59 , Markus D=F6ring wrote: > ahh. I found that it only occurs with NOTs in the filter. otherwise =20= > it was working. > and I actually found something in the filters. can you try the new =20 > trunk? im curious if this fixes it! > > markus > > On 11/16/06, "D=F6ring, Markus" <m.d...@bg...> wrote: > > > -----Original Message----- > From: pyw...@li... [mailto: =20 > pyw...@li...] On Behalf Of Skofic =20 > A. Milko (IPGRI) > Sent: Donnerstag, 16. November 2006 09:18 > To: Markus D=F6ring > Cc: pyw...@li... ; Javier privat > Subject: Re: [PyWrapper-devel] SQL syntax > > > I tried to install it on the server but TAPIR gave me errors when > loading the structure, fortunately it left a dot file before > crashing. Here is the structure of the database, I send you both the > dot file and a .png > > > > |
From: <wi...@go...> - 2006-11-16 15:59:10
|
ahh. I found that it only occurs with NOTs in the filter. otherwise it was working. and I actually found something in the filters. can you try the new trunk? i= m curious if this fixes it! markus On 11/16/06, "D=F6ring, Markus" <m.d...@bg...> wrote: > > > > -----Original Message----- > From: pyw...@li... [mailto: > pyw...@li...] On Behalf Of Skofic A. > Milko (IPGRI) > Sent: Donnerstag, 16. November 2006 09:18 > To: Markus D=F6ring > Cc: pyw...@li...; Javier privat > Subject: Re: [PyWrapper-devel] SQL syntax > > > I tried to install it on the server but TAPIR gave me errors when > loading the structure, fortunately it left a dot file before > crashing. Here is the structure of the database, I send you both the > dot file and a .png > > > > |
From: <m.d...@BG...> - 2006-11-16 15:25:23
|
Milko, I forgot to tell you that there is a mapping in pywrapper (its not = "standard" TAPIR I think) which is called <TotalMatchedRecords/>. This = maps the total number of matched records so its a count! It does this = through a separate SQL statement before constructing the response, so = you can use it. But as its not TAPIR I think you cant use it for models = but only for datasource preferences; so mapping your db to a concept. = You would need the concept of the count basically. I might be wrong = here; its just a faded memory. SPICE needs a count too for its reponse. Markus |
From: <m.d...@BG...> - 2006-11-16 10:51:50
|
milko, you know there are variables in tapir.=20 but the problem is that the numbers used for the summary section can = only be produced when the entire model section is over! thats a vicous circle. you cant use these numbers before the output is = done. so you cant use them to create the output! m -----Original Message----- From: pyw...@li... = [mailto:pyw...@li...] On Behalf Of = Skofic A. Milko (IPGRI) Sent: Donnerstag, 16. November 2006 11:34 To: D=F6ring, Markus Cc: PyWrapper Developers mailing list; Javier privat Subject: Re: [PyWrapper-devel] MOBY info =09 =09 I understand you have to parse a stream and not load the whole thing in = memory or it would be impossible to handle, but is there any way to get = the <summary> section someway? If I am correct, in the output model you have a <structure> part that = defines the model onto which you want to map the TAPIR output, in the = <mapping> section you map elements of the <structure> section to data = output section inside of the <search> part of the TAPIR response. Is = there any way to access elements outside of the schema the database is = wrapped to? For instance: <search> <Datasets> <Dataset> ... </Dataset> </Datasets> <summary start=3D"0" totalMatched=3D"25008" next=3D"50"/> <search> Are there any "system variables" to which the start=3D"0" = totalMatched=3D"25008" next=3D"50" could be written to once you get to = the end of the response? Thanks! Milko On Nov 16, 2006, at 10:09 , D=F6ring, Markus wrote: thats right. the summary section is at the end of the model result section cause = otherwise pywrapper would have to know the numbers in advance which = means keeping it in memory and no streaming. thats something we wanted = to avoid when designing tapir. =20 markus =20 -----Original Message----- From: pyw...@li... = [mailto:pyw...@li...] On Behalf Of = Skofic A. Milko (IPGRI) Sent: Donnerstag, 16. November 2006 00:56 To: Javier privat Cc: PyWrapper Developers mailing list Subject: Re: [PyWrapper-devel] MOBY info =09 =09 I think a count can be very useful, like getting the number of = elements conforming to some condition. Also, it can be useful to have an = idea of how many elements one must get, then use that number when = setting the secondary paging parameters. I agree that search is enough for now, that covers most of the needs. The count operation is not available for use with biomoby. There is = no way in TAPIR, apart of using XSLT on top of it, to modify the = response dynamically of a search result that has the count set to true. Does this mean that in an output model you don't have access to the = response structure of a TAPIR result? for instance to this: <summary start=3D"0" totalReturned=3D"0" totalMatched=3D"25008" />=20 Thanks! Milko On Nov 16, 2006, at 0:39 , Javier de la Torre wrote: Hi Milko,=20 As you correctly said the moby2TapirFilterXslt just transform a = biomoby message into a tapir filter, just the filter! not a full TAPIR = request. Take a look at the XSLT, is pretty simple. As it is implemented right now the only operations that can be done = is a search... I implemented it like because with search is the only operation that = you can do dynamic outputmodels and the only thing that it is needed to = trasnform is the filter. The count operation is not available for use with biomoby. There is = no way in TAPIR, apart of using XSLT on top of it, to modify the = response dynamically of a search result that has the count set to true. So, again, it is not possible to create biomoby services in = pywrapper that uses a COUNT. What kind of services do you envision to do = this? If you really need it then we can think about other possibilities = but I dont know if this is necessary... Cheers. On 15/11/2006, at 19:50, Skofic A. Milko (IPGRI) wrote: Javier, podr=EDas decirme cuando me podr=EDas dedicar un poco de = tiempo para comprender unas cosas de como implementas el MOBY?=20 Te indico las cosas que no me son claras: El <moby2TapirFilterXslt> que hace exactamente, transforma el = input Moby mensaje en el filtro te b=FAsqueda TAPIR? Si eso es la = verdad, solamente se necessita crear la parte <filter> de la b=FAsqueda, = lo otro es automatico? Si yo quer=EDa hacer un MOBY service que me da el COUNT de cuantos = registros ha encontrado como puedo hacer? El problema es que esta = informaci=F3n me la devuelve el protocolo TAPIR, no el esquema que se = utiliza. Yo har=EDa esta query; <?xml version=3D'1.0' encoding=3D'UTF-8'?> <request> <header> <source = accesspoint=3D"http://tapir.grinfo.net:8080/pywrapper/pywrapper?dsa=3DEUR= ISCO" sendtime=3D"2006-11-13T12:54:29.43"/> </header> <search count=3D'true' start=3D'0' limit=3D'0'> <externalOutputModel = location=3D"http://eurisco.ecpgr.org/models/output/MCPD_EURISCO_1.00.xml"= /> <filter> <like> <concept id=3D'GENUS@mcpd_eurisco_100' /> <literal value=3D'B*' /> </like> </filter> <orderBy> <concept id=3D'ACCENUMB@mcpd_eurisco_100' /> </orderBy> </search> </request> Y TAPIR me devolver=EDa: <?xml version=3D"1.0" encoding=3D"utf-8"?> <response xmlns=3D"http://rs.tdwg.org/tapir/1.0"> <header> <source sendtime=3D"2006-11-15T19:26:50.57" = accesspoint=3D"http://tapir.grinfo.net:8080/pywrapper/pywrapper?dsa=3DEUR= ISCO_TEST"> <software version=3D"2.1" name=3D"PyWrapper" /> </source> </header> <!-- CONTENT START --> <search> <summary start=3D"0" totalReturned=3D"0" totalMatched=3D"25008" = /> </search> <!-- CONTENT END --> <diagnostics></diagnostics> </response> Ent=F3nces tendr=EDa que hacer un output model con la estructura = del <response> mapeado a el MOBY type? Ciao! Milko =09 =09 Milko A. Skofic (IPGRI) International Plant Genetic Resources Institute Via dei Tre Denari, 472/a 00057 Maccarese (RM) ITALY E-mail: m.s...@cg... Tel: +30 06 6118286 |
From: <m.d...@BG...> - 2006-11-16 10:41:45
|
ok, should be fixed now. the caching option is now also available in the = system cfg pane -----Original Message----- From: pyw...@li... = [mailto:pyw...@li...] On Behalf Of = Skofic A. Milko (IPGRI) Sent: Donnerstag, 16. November 2006 10:01 To: Markus D=F6ring Cc: PyWrapper Developers mailing list; Javier privat Subject: [PyWrapper-devel] Graphviz problem =09 =09 OK, sorry for the amount of e-mails. I just looked at the config.ini = file and this is what it contains: AliasList_1 =3D http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 =3D =20 AliasList_3 =3D =20 boolProps_1 =3D webapp intProps_1 =3D cacheExpiration intProps_2 =3D sessionExpiration AliasList_1 =3D http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 =3D =20 AliasList_3 =3D =20 boolProps_1 =3D webapp intProps_1 =3D cacheExpiration intProps_2 =3D sessionExpiration AliasList_1 =3D http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 =3D =20 AliasList_3 =3D =20 boolProps_1 =3D webapp intProps_1 =3D cacheExpiration intProps_2 =3D sessionExpiration AliasList_1 =3D http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 =3D =20 AliasList_3 =3D =20 boolProps_1 =3D webapp intProps_1 =3D cacheExpiration intProps_2 =3D sessionExpiration AliasList_1 =3D http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 =3D =20 AliasList_3 =3D =20 boolProps_1 =3D webapp intProps_1 =3D cacheExpiration intProps_2 =3D sessionExpiration AliasList_1 =3D http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 =3D =20 AliasList_3 =3D =20 boolProps_1 =3D webapp intProps_1 =3D cacheExpiration intProps_2 =3D sessionExpiration AliasList_1 =3D http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 =3D =20 AliasList_3 =3D =20 boolProps_1 =3D webapp intProps_1 =3D cacheExpiration intProps_2 =3D sessionExpiration # = -------------------------------------------------------------------------= ------- # INSTALLATION WIDE CONFIGURATION # PLEASE ADJUST THESE SETTINGS TO YOUR ENVIRONMENT=20 # = -------------------------------------------------------------------------= ------- =09 =09 [Server] adminpassword =3D ACDC boolProps_1 =3D webapp Maybe it is acting like me, sending the same e-mails all the time :-) To be more serious, I think you are appending to the file instead of = rewriting, could these repetitions be the problem? |
From: Javier de la T. <ja...@gm...> - 2006-11-16 10:39:16
|
Hi Peter, Well, you could be using the default username and password for just occasional supporters, but... considering that you might work as well in the code and that you are going to do some testing, I would prefer to create you an SVN account so that you can also authenticate in trac and edit with your own name... Is that ok for you? Javi. On 16/11/2006, at 11:28, Peter Brewer wrote: > Dear All, > > Solved the proxy problem thanks to Tim Sutton - SVN guru! The SVN > port > number was the cause. As the default SVN port is 80 this can be > removed > from the checkout command which fixes it. Not sure why... it's just > another proxy server mystery! > > So... it would probably be best to change the instructions on the wiki > because the change shouldn't impact anyone without a proxy. How do > I go > about getting access? > > Cheers > > Pete > > ---------------------------------------------------------------------- > --- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to > share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php? > page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > PyWrapper-devel mailing list > PyW...@li... > https://lists.sourceforge.net/lists/listinfo/pywrapper-devel |
From: Skofic A. M. (IPGRI) <m.s...@cg...> - 2006-11-16 10:34:31
|
I understand you have to parse a stream and not load the whole thing =20 in memory or it would be impossible to handle, but is there any way =20 to get the <summary> section someway? If I am correct, in the output model you have a <structure> part that =20= defines the model onto which you want to map the TAPIR output, in the =20= <mapping> section you map elements of the <structure> section to data =20= output section inside of the <search> part of the TAPIR response. Is =20 there any way to access elements outside of the schema the database =20 is wrapped to? For instance: <search> <Datasets> <Dataset> ... </Dataset> </Datasets> <summary start=3D"0" totalMatched=3D"25008" next=3D"50"/> <search> Are there any "system variables" to which the start=3D"0" =20 totalMatched=3D"25008" next=3D"50" could be written to once you get to =20= the end of the response? Thanks! Milko On Nov 16, 2006, at 10:09 , D=F6ring, Markus wrote: > thats right. > the summary section is at the end of the model result section cause =20= > otherwise pywrapper would have to know the numbers in advance which =20= > means keeping it in memory and no streaming. thats something we =20 > wanted to avoid when designing tapir. > > markus > > -----Original Message----- > From: pyw...@li... =20 > [mailto:pyw...@li...] On Behalf Of =20= > Skofic A. Milko (IPGRI) > Sent: Donnerstag, 16. November 2006 00:56 > To: Javier privat > Cc: PyWrapper Developers mailing list > Subject: Re: [PyWrapper-devel] MOBY info > > I think a count can be very useful, like getting the number of =20 > elements conforming to some condition. Also, it can be useful to =20 > have an idea of how many elements one must get, then use that =20 > number when setting the secondary paging parameters. > > I agree that search is enough for now, that covers most of the needs. > >> The count operation is not available for use with biomoby. There =20 >> is no way in TAPIR, apart of using XSLT on top of it, to modify =20 >> the response dynamically of a search result that has the count set =20= >> to true. > Does this mean that in an output model you don't have access to the =20= > response structure of a TAPIR result? for instance to this: > <summary start=3D"0" totalReturned=3D"0" totalMatched=3D"25008" /> > > Thanks! > > Milko > > On Nov 16, 2006, at 0:39 , Javier de la Torre wrote: > >> Hi Milko, >> >> As you correctly said the moby2TapirFilterXslt just transform a =20 >> biomoby message into a tapir filter, just the filter! not a full =20 >> TAPIR request. Take a look at the XSLT, is pretty simple. >> >> As it is implemented right now the only operations that can be =20 >> done is a search... >> >> I implemented it like because with search is the only operation =20 >> that you can do dynamic outputmodels and the only thing that it is =20= >> needed to trasnform is the filter. >> >> The count operation is not available for use with biomoby. There =20 >> is no way in TAPIR, apart of using XSLT on top of it, to modify =20 >> the response dynamically of a search result that has the count set =20= >> to true. >> >> So, again, it is not possible to create biomoby services in =20 >> pywrapper that uses a COUNT. What kind of services do you envision =20= >> to do this? If you really need it then we can think about other =20 >> possibilities but I dont know if this is necessary... >> >> Cheers. >> >> On 15/11/2006, at 19:50, Skofic A. Milko (IPGRI) wrote: >> >>> Javier, podr=EDas decirme cuando me podr=EDas dedicar un poco de =20 >>> tiempo para comprender unas cosas de como implementas el MOBY? >>> >>> Te indico las cosas que no me son claras: >>> >>> El <moby2TapirFilterXslt> que hace exactamente, transforma el =20 >>> input Moby mensaje en el filtro te b=FAsqueda TAPIR? Si eso es la =20= >>> verdad, solamente se necessita crear la parte <filter> de la =20 >>> b=FAsqueda, lo otro es automatico? >>> >>> Si yo quer=EDa hacer un MOBY service que me da el COUNT de cuantos =20= >>> registros ha encontrado como puedo hacer? El problema es que esta =20= >>> informaci=F3n me la devuelve el protocolo TAPIR, no el esquema que =20= >>> se utiliza. >>> >>> Yo har=EDa esta query; >>> >>> <?xml version=3D'1.0' encoding=3D'UTF-8'?> >>> <request> >>> <header> >>> <source accesspoint=3D"http://tapir.grinfo.net:8080/pywrapper/=20 >>> pywrapper?dsa=3DEURISCO" sendtime=3D"2006-11-13T12:54:29.43"/> >>> </header> >>> <search count=3D'true' start=3D'0' limit=3D'0'> >>> <externalOutputModel location=3D"http://eurisco.ecpgr.org/models/=20 >>> output/MCPD_EURISCO_1.00.xml"/> >>> <filter> >>> <like> >>> <concept id=3D'GENUS@mcpd_eurisco_100' /> >>> <literal value=3D'B*' /> >>> </like> >>> </filter> >>> <orderBy> >>> <concept id=3D'ACCENUMB@mcpd_eurisco_100' /> >>> </orderBy> >>> </search> >>> </request> >>> >>> Y TAPIR me devolver=EDa: >>> >>> <?xml version=3D"1.0" encoding=3D"utf-8"?> >>> <response xmlns=3D"http://rs.tdwg.org/tapir/1.0"> >>> <header> >>> <source sendtime=3D"2006-11-15T19:26:50.57" accesspoint=3D"http://= =20 >>> tapir.grinfo.net:8080/pywrapper/pywrapper?dsa=3DEURISCO_TEST"> >>> <software version=3D"2.1" name=3D"PyWrapper" /> >>> </source> >>> </header> >>> <!-- CONTENT START --> >>> <search> >>> <summary start=3D"0" totalReturned=3D"0" totalMatched=3D"25008" = /> >>> </search> >>> <!-- CONTENT END --> >>> <diagnostics></diagnostics> >>> </response> >>> >>> Ent=F3nces tendr=EDa que hacer un output model con la estructura del = =20 >>> <response> mapeado a el MOBY type? >>> >>> Ciao! >>> >>> Milko >> > > > Milko A. Skofic (IPGRI) > International Plant Genetic Resources Institute > Via dei Tre Denari, 472/a > 00057 Maccarese (RM) > ITALY > E-mail: m.s...@cg... > Tel: +30 06 6118286 > > |
From: Peter B. <p.w...@re...> - 2006-11-16 10:28:51
|
Dear All, Solved the proxy problem thanks to Tim Sutton - SVN guru! The SVN port number was the cause. As the default SVN port is 80 this can be removed from the checkout command which fixes it. Not sure why... it's just another proxy server mystery! So... it would probably be best to change the instructions on the wiki because the change shouldn't impact anyone without a proxy. How do I go about getting access? Cheers Pete |
From: Skofic A. M. (IPGRI) <m.s...@cg...> - 2006-11-16 10:17:24
|
Sorry, I tried again to save the server settings in the system ConfigTool and I get the following error: 500 Internal Server Error The server encountered an unexpected condition which prevented it from fulfilling the request. Traceback (most recent call last): File "/Library/WebServer/Services/pywrapper/lib/cherrypy/ _cprequest.py", line 539, in respond cherrypy.response.body = self.handler() File "/Library/WebServer/Services/pywrapper/lib/cherrypy/ _cprequest.py", line 110, in __call__ return self.callable(*self.args, **self.kwargs) File "/Library/WebServer/Services/pywrapper/webapp/configtool/ cfgtool.py", line 204, in system cfgObj.__save__() File "/Library/WebServer/Services/pywrapper/lib/biocase/ configuration.py", line 318, in __save__ sect.__save__() File "/Library/WebServer/Services/pywrapper/lib/biocase/ configuration.py", line 120, in __save__ fpw.write("%s = %i\n" % (name.encode('utf-8'), options[name])) TypeError: int argument required Powered by CherryPy 3.0.0beta2 The config.ini was as follows: # ------------------------------------------------------------------------ -------- # INSTALLATION WIDE CONFIGURATION # PLEASE ADJUST THESE SETTINGS TO YOUR ENVIRONMENT # ------------------------------------------------------------------------ -------- [Server] webapp = True adminpassword = ACDC graphviz_dot = /usr/local/graphviz-2.9/bin/dot host = http://localhost:8080 webroot = /pywrapper # time in minutes. 0 forces a reload every time cacheExpiration = 60 [ConceptNameServer] AliasList_1 = http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 = AliasList_3 = [Webapps] # time in minutes sessionExpiration = 60 After I get the error it is like this: AliasList_1 = http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 = AliasList_3 = boolProps_1 = webapp intProps_1 = cacheExpiration intProps_2 = sessionExpiration # ------------------------------------------------------------------------ -------- # INSTALLATION WIDE CONFIGURATION # PLEASE ADJUST THESE SETTINGS TO YOUR ENVIRONMENT # ------------------------------------------------------------------------ -------- [Server] adminpassword = ACDC boolProps_1 = webapp I don't think this has to do with svn, except if there are other files that affect this process. On Nov 16, 2006, at 10:51 , Javier de la Torre wrote: > Milko, > > This lines you get them when you have a conflict on subversion. > That means that you edited these files and then markus edited them > too and commit it to the svn server. When you have updated SVN > detects that you have a conflict and create a set of files with the > differet versions conflicting and with comments for you to decide > what you wanna do... is not a pywrapper error is just that you have > a crash in svn. > > Simply delete all these files and update to restore them again... > > Javi > > On 16/11/2006, at 10:46, Skofic A. Milko (IPGRI) wrote: > >> I just looked at the configuration file in the server and here it is: >> >> # >> --------------------------------------------------------------------- >> ----------- >> # INSTALLATION WIDE CONFIGURATION >> # PLEASE ADJUST THESE SETTINGS TO YOUR ENVIRONMENT >> # >> --------------------------------------------------------------------- >> ----------- >> >> [Server] >> adminpassword = ACDC >> graphviz_dot = >> host = http://tapir.grinfo.net:8080 >> webapp = True >> webroot = /pywrapper >> # time in minutes. 0 forces a reload every time >> cacheExpiration = 60 >> >> [ConceptNameServer] >> AliasList_1 = http://rs.tdwg.org/tapir/cns/alias.txt >> AliasList_2 = http://eurisco.ecpgr.org/models/alias.txt >> AliasList_3 = >> >> [Webapps] >> <<<<<<< .mine >> sessionExpiration = 3600 >> ======= >> # time in minutes >> sessionExpiration = 60 >> >>>>>>> .r983 >> >> From the error messages it looks as if it doesn't like the >> <<<<<<< .mine lines... > |
From: Skofic A. M. (IPGRI) <m.s...@cg...> - 2006-11-16 10:07:42
|
OK, sorry for the misunderstanding, it's working now on both machines. Good to know, since the configuration file gets changed some times. On Nov 16, 2006, at 10:51 , Javier de la Torre wrote: > Milko, > > This lines you get them when you have a conflict on subversion. > That means that you edited these files and then markus edited them > too and commit it to the svn server. When you have updated SVN > detects that you have a conflict and create a set of files with the > differet versions conflicting and with comments for you to decide > what you wanna do... is not a pywrapper error is just that you have > a crash in svn. > > Simply delete all these files and update to restore them again... > > Javi > > On 16/11/2006, at 10:46, Skofic A. Milko (IPGRI) wrote: > >> I just looked at the configuration file in the server and here it is: >> >> # >> --------------------------------------------------------------------- >> ----------- >> # INSTALLATION WIDE CONFIGURATION >> # PLEASE ADJUST THESE SETTINGS TO YOUR ENVIRONMENT >> # >> --------------------------------------------------------------------- >> ----------- >> >> [Server] >> adminpassword = ACDC >> graphviz_dot = >> host = http://tapir.grinfo.net:8080 >> webapp = True >> webroot = /pywrapper >> # time in minutes. 0 forces a reload every time >> cacheExpiration = 60 >> >> [ConceptNameServer] >> AliasList_1 = http://rs.tdwg.org/tapir/cns/alias.txt >> AliasList_2 = http://eurisco.ecpgr.org/models/alias.txt >> AliasList_3 = >> >> [Webapps] >> <<<<<<< .mine >> sessionExpiration = 3600 >> ======= >> # time in minutes >> sessionExpiration = 60 >> >>>>>>> .r983 >> >> From the error messages it looks as if it doesn't like the >> <<<<<<< .mine lines... > |
From: Javier de la T. <ja...@gm...> - 2006-11-16 09:52:40
|
Milko, This lines you get them when you have a conflict on subversion. That means that you edited these files and then markus edited them too and commit it to the svn server. When you have updated SVN detects that you have a conflict and create a set of files with the differet versions conflicting and with comments for you to decide what you wanna do... is not a pywrapper error is just that you have a crash in svn. Simply delete all these files and update to restore them again... Javi On 16/11/2006, at 10:46, Skofic A. Milko (IPGRI) wrote: > I just looked at the configuration file in the server and here it is: > > # > ---------------------------------------------------------------------- > ---------- > # INSTALLATION WIDE CONFIGURATION > # PLEASE ADJUST THESE SETTINGS TO YOUR ENVIRONMENT > # > ---------------------------------------------------------------------- > ---------- > > [Server] > adminpassword = ACDC > graphviz_dot = > host = http://tapir.grinfo.net:8080 > webapp = True > webroot = /pywrapper > # time in minutes. 0 forces a reload every time > cacheExpiration = 60 > > [ConceptNameServer] > AliasList_1 = http://rs.tdwg.org/tapir/cns/alias.txt > AliasList_2 = http://eurisco.ecpgr.org/models/alias.txt > AliasList_3 = > > [Webapps] > <<<<<<< .mine > sessionExpiration = 3600 > ======= > # time in minutes > sessionExpiration = 60 > >>>>>>> .r983 > > From the error messages it looks as if it doesn't like the > <<<<<<< .mine lines... |
From: Skofic A. M. (IPGRI) <m.s...@cg...> - 2006-11-16 09:46:44
|
I just looked at the configuration file in the server and here it is: # ------------------------------------------------------------------------ -------- # INSTALLATION WIDE CONFIGURATION # PLEASE ADJUST THESE SETTINGS TO YOUR ENVIRONMENT # ------------------------------------------------------------------------ -------- [Server] adminpassword = ACDC graphviz_dot = host = http://tapir.grinfo.net:8080 webapp = True webroot = /pywrapper # time in minutes. 0 forces a reload every time cacheExpiration = 60 [ConceptNameServer] AliasList_1 = http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 = http://eurisco.ecpgr.org/models/alias.txt AliasList_3 = [Webapps] <<<<<<< .mine sessionExpiration = 3600 ======= # time in minutes sessionExpiration = 60 >>>>>>> .r983 From the error messages it looks as if it doesn't like the <<<<<<< .mine lines... |
From: Skofic A. M. (IPGRI) <m.s...@cg...> - 2006-11-16 09:24:25
|
I think you have a problem with this revision: I stopped the server, updated with svn and when I restarted the server I got: $ python/bin/python ../webapp/start_server.py 8080 Traceback (most recent call last): File "../webapp/start_server.py", line 60, in ? import cherrypy, biocase.configuration, root, pywrapper File "/Library/WebServer/Services/pywrapper/webapp/root.py", line 17, in ? import page, biocase.configuration File "/Library/WebServer/Services/pywrapper/webapp/page.py", line 4, in ? import biocase.pywrapper File "/Library/WebServer/Services/pywrapper/lib/biocase/pywrapper/ __init__.py", line 48, in ? from biocase.pywrapper.pywrappercgi import PyWrapper, UnknownProtocolError File "/Library/WebServer/Services/pywrapper/lib/biocase/pywrapper/ pywrappercgi.py", line 20, in ? from datasource_factory import buildDatasourceObj File "/Library/WebServer/Services/pywrapper/lib/biocase/pywrapper/ datasource_factory.py", line 12, in ? from biocase.pywrapper.datasource import Datasource File "/Library/WebServer/Services/pywrapper/lib/biocase/pywrapper/ datasource.py", line 26, in ? from biocase.pywrapper.datasource_handler import datasourcePrefsHandler, DATASOURCE_NS File "/Library/WebServer/Services/pywrapper/lib/biocase/pywrapper/ datasource_handler.py", line 19, in ? from biocase.pywrapper.graph.tablegraph import tableGraphClass, tableAliasClass File "/Library/WebServer/Services/pywrapper/lib/biocase/pywrapper/ graph/tablegraph.py", line 23, in ? from biocase.pywrapper.filter.logical import AndClass File "/Library/WebServer/Services/pywrapper/lib/biocase/pywrapper/ filter/__init__.py", line 35, in ? importFilterClasses() File "/Library/WebServer/Services/pywrapper/lib/biocase/pywrapper/ filter/__init__.py", line 20, in importFilterClasses module = __import__('biocase.pywrapper.filter.'+modulename, {}, {}, modulename) File "/Library/WebServer/Services/pywrapper/lib/biocase/pywrapper/ filter/comparison.py", line 20, in ? from biocase.pywrapper.filter.concept import ExtConceptClass File "/Library/WebServer/Services/pywrapper/lib/biocase/pywrapper/ filter/concept.py", line 19, in ? cfgObj=biocase.configuration.Cfg() File "/Library/WebServer/Services/pywrapper/lib/biocase/ configuration.py", line 57, in __call__ cls.__instance=super(Singleton,cls).__call__(*args,**kw) File "/Library/WebServer/Services/pywrapper/lib/biocase/ configuration.py", line 216, in __init__ self._readConfigFiles(configFilename=configFilename) File "/Library/WebServer/Services/pywrapper/lib/biocase/ configuration.py", line 225, in _readConfigFiles self.__addCfgFile__(configFilename) File "/Library/WebServer/Services/pywrapper/lib/biocase/ configuration.py", line 278, in __addCfgFile__ cfg.read(configFilename) File "/Library/WebServer/Services/pywrapper/tools/python/lib/ python2.4/ConfigParser.py", line 267, in read self._read(fp, filename) File "/Library/WebServer/Services/pywrapper/tools/python/lib/ python2.4/ConfigParser.py", line 490, in _read raise e ConfigParser.ParsingError: File contains parsing errors: /Library/ WebServer/Services/pywrapper/config/config.ini [line 21]: '<<<<<<< .mine\n' [line 23]: '=======\n' [line 26]: '>>>>>>> .r983\n' |
From: <m.d...@BG...> - 2006-11-16 09:21:28
|
Wow, how symmetrical. Cant see anything wrong here either. m > -----Original Message----- > From: pyw...@li...=20 > [mailto:pyw...@li...] On=20 > Behalf Of Skofic A. Milko (IPGRI) > Sent: Donnerstag, 16. November 2006 09:18 > To: Markus D=F6ring > Cc: pyw...@li...; Javier privat > Subject: Re: [PyWrapper-devel] SQL syntax >=20 >=20 > I tried to install it on the server but TAPIR gave me errors when =20 > loading the structure, fortunately it left a dot file before =20 > crashing. Here is the structure of the database, I send you both the =20 > dot file and a .png >=20 >=20 |
From: <m.d...@BG...> - 2006-11-16 09:15:58
|
All downloaded files (models, templates, schemas) are cached 1:1 as they = are first. Anytime you use the handy function = biocase.tools.filesystem.getCachedFilename() it caches the files. And please make use of the function. It doesn't know about the cfgObj so = you need to supply the default cacheExpiration setting through the = refreshDuration parameter. Markus > -----Original Message----- > From: pyw...@li...=20 > [mailto:pyw...@li...] On=20 > Behalf Of Javier privat > Sent: Donnerstag, 16. November 2006 08:37 > To: Markus D=F6ring > Cc: pyw...@li...; Skofic A. Milko (IPGRI) > Subject: Re: [PyWrapper-devel] Cache Expiration >=20 >=20 > Hey Markus, >=20 > But does this solve the problem that with structure and=20 > mapping? I did not know we were caching configuration=20 > files... or is not that =20 > they are cached but pickled? >=20 > Javi. >=20 > On 16/11/2006, at 1:14, Markus D=F6ring wrote: >=20 > > alright, there is now a new config parameter cacheExpiration that > > is used for any webdownloaded cache file. > > if the file was cached before that time (in minutes), it is=20 > refreshed. > > by default its 60 minutes > > markus > > > > > > On 14.11.2006, at 17:23, Skofic A. Milko (IPGRI) wrote: > > > > When making changes to structure or mapping I have to always reset =20 > > the cache (in the ConfigTool), if not TAPIR doesn't see any changes. > > > > Just to let you know. > > >=20 >=20 > -------------------------------------------------------------- > ----------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the=20 > chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge &CID=3DDEVDEV _______________________________________________ PyWrapper-devel mailing list PyW...@li... https://lists.sourceforge.net/lists/listinfo/pywrapper-devel |
From: <m.d...@BG...> - 2006-11-16 09:13:19
|
again, sorry my fault. havent tested the config writing enough last = night. was simply to late. give me 15 minutes -----Original Message----- From: pyw...@li... = [mailto:pyw...@li...] On Behalf Of = Skofic A. Milko (IPGRI) Sent: Donnerstag, 16. November 2006 10:01 To: Markus D=F6ring Cc: PyWrapper Developers mailing list; Javier privat Subject: [PyWrapper-devel] Graphviz problem =09 =09 OK, sorry for the amount of e-mails. I just looked at the config.ini = file and this is what it contains: AliasList_1 =3D http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 =3D =20 AliasList_3 =3D =20 boolProps_1 =3D webapp intProps_1 =3D cacheExpiration intProps_2 =3D sessionExpiration AliasList_1 =3D http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 =3D =20 AliasList_3 =3D =20 boolProps_1 =3D webapp intProps_1 =3D cacheExpiration intProps_2 =3D sessionExpiration AliasList_1 =3D http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 =3D =20 AliasList_3 =3D =20 boolProps_1 =3D webapp intProps_1 =3D cacheExpiration intProps_2 =3D sessionExpiration AliasList_1 =3D http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 =3D =20 AliasList_3 =3D =20 boolProps_1 =3D webapp intProps_1 =3D cacheExpiration intProps_2 =3D sessionExpiration AliasList_1 =3D http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 =3D =20 AliasList_3 =3D =20 boolProps_1 =3D webapp intProps_1 =3D cacheExpiration intProps_2 =3D sessionExpiration AliasList_1 =3D http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 =3D =20 AliasList_3 =3D =20 boolProps_1 =3D webapp intProps_1 =3D cacheExpiration intProps_2 =3D sessionExpiration AliasList_1 =3D http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 =3D =20 AliasList_3 =3D =20 boolProps_1 =3D webapp intProps_1 =3D cacheExpiration intProps_2 =3D sessionExpiration # = -------------------------------------------------------------------------= ------- # INSTALLATION WIDE CONFIGURATION # PLEASE ADJUST THESE SETTINGS TO YOUR ENVIRONMENT=20 # = -------------------------------------------------------------------------= ------- =09 =09 [Server] adminpassword =3D ACDC boolProps_1 =3D webapp Maybe it is acting like me, sending the same e-mails all the time :-) To be more serious, I think you are appending to the file instead of = rewriting, could these repetitions be the problem? |
From: <m.d...@BG...> - 2006-11-16 09:11:36
|
thas something I introduces last night. sorry. will fix it in some = minutes. we fxxx need unit tests... -----Original Message----- From: pyw...@li... = [mailto:pyw...@li...] On Behalf Of = Skofic A. Milko (IPGRI) Sent: Donnerstag, 16. November 2006 09:50 To: Markus D=F6ring Cc: PyWrapper Developers mailing list; Javier privat Subject: [PyWrapper-devel] Graphviz problem =09 =09 I just made a clean install on my machine and when I try to set the = path to the dot binary I get the following error:=20 500 Internal Server Error The server encountered an unexpected condition which prevented it from = fulfilling the request. Traceback (most recent call last): File = "/Library/WebServer/Services/pywrapper/lib/cherrypy/_cprequest.py", line = 539, in respond cherrypy.response.body =3D self.handler() File = "/Library/WebServer/Services/pywrapper/lib/cherrypy/_cprequest.py", line = 110, in __call__ return self.callable(*self.args, **self.kwargs) File = "/Library/WebServer/Services/pywrapper/webapp/configtool/cfgtool.py", = line 204, in system cfgObj.__save__() File = "/Library/WebServer/Services/pywrapper/lib/biocase/configuration.py", = line 318, in __save__ sect.__save__() File = "/Library/WebServer/Services/pywrapper/lib/biocase/configuration.py", = line 120, in __save__ fpw.write("%s =3D %i\n" % (name.encode('utf-8'), options[name])) TypeError: int argument required Powered by CherryPy 3.0.0beta2 <http://www.cherrypy.org/>=20 I know it works since I sent you the diagrams of my database that I = rendered on my workstation. Bye! Milko |
From: <m.d...@BG...> - 2006-11-16 09:10:47
|
thats right. the summary section is at the end of the model result section cause = otherwise pywrapper would have to know the numbers in advance which = means keeping it in memory and no streaming. thats something we wanted = to avoid when designing tapir. =20 markus =20 -----Original Message----- From: pyw...@li... = [mailto:pyw...@li...] On Behalf Of = Skofic A. Milko (IPGRI) Sent: Donnerstag, 16. November 2006 00:56 To: Javier privat Cc: PyWrapper Developers mailing list Subject: Re: [PyWrapper-devel] MOBY info =09 =09 I think a count can be very useful, like getting the number of elements = conforming to some condition. Also, it can be useful to have an idea of = how many elements one must get, then use that number when setting the = secondary paging parameters. I agree that search is enough for now, that covers most of the needs. The count operation is not available for use with biomoby. There is no = way in TAPIR, apart of using XSLT on top of it, to modify the response = dynamically of a search result that has the count set to true. Does this mean that in an output model you don't have access to the = response structure of a TAPIR result? for instance to this: <summary start=3D"0" totalReturned=3D"0" totalMatched=3D"25008" />=20 Thanks! Milko On Nov 16, 2006, at 0:39 , Javier de la Torre wrote: Hi Milko,=20 As you correctly said the moby2TapirFilterXslt just transform a = biomoby message into a tapir filter, just the filter! not a full TAPIR = request. Take a look at the XSLT, is pretty simple. As it is implemented right now the only operations that can be done is = a search... I implemented it like because with search is the only operation that = you can do dynamic outputmodels and the only thing that it is needed to = trasnform is the filter. The count operation is not available for use with biomoby. There is no = way in TAPIR, apart of using XSLT on top of it, to modify the response = dynamically of a search result that has the count set to true. So, again, it is not possible to create biomoby services in pywrapper = that uses a COUNT. What kind of services do you envision to do this? If = you really need it then we can think about other possibilities but I = dont know if this is necessary... Cheers. On 15/11/2006, at 19:50, Skofic A. Milko (IPGRI) wrote: Javier, podr=EDas decirme cuando me podr=EDas dedicar un poco de = tiempo para comprender unas cosas de como implementas el MOBY?=20 Te indico las cosas que no me son claras: El <moby2TapirFilterXslt> que hace exactamente, transforma el input = Moby mensaje en el filtro te b=FAsqueda TAPIR? Si eso es la verdad, = solamente se necessita crear la parte <filter> de la b=FAsqueda, lo otro = es automatico? Si yo quer=EDa hacer un MOBY service que me da el COUNT de cuantos = registros ha encontrado como puedo hacer? El problema es que esta = informaci=F3n me la devuelve el protocolo TAPIR, no el esquema que se = utiliza. Yo har=EDa esta query; <?xml version=3D'1.0' encoding=3D'UTF-8'?> <request> <header> <source = accesspoint=3D"http://tapir.grinfo.net:8080/pywrapper/pywrapper?dsa=3DEUR= ISCO" sendtime=3D"2006-11-13T12:54:29.43"/> </header> <search count=3D'true' start=3D'0' limit=3D'0'> <externalOutputModel = location=3D"http://eurisco.ecpgr.org/models/output/MCPD_EURISCO_1.00.xml"= /> <filter> <like> <concept id=3D'GENUS@mcpd_eurisco_100' /> <literal value=3D'B*' /> </like> </filter> <orderBy> <concept id=3D'ACCENUMB@mcpd_eurisco_100' /> </orderBy> </search> </request> Y TAPIR me devolver=EDa: <?xml version=3D"1.0" encoding=3D"utf-8"?> <response xmlns=3D"http://rs.tdwg.org/tapir/1.0"> <header> <source sendtime=3D"2006-11-15T19:26:50.57" = accesspoint=3D"http://tapir.grinfo.net:8080/pywrapper/pywrapper?dsa=3DEUR= ISCO_TEST"> <software version=3D"2.1" name=3D"PyWrapper" /> </source> </header> <!-- CONTENT START --> <search> <summary start=3D"0" totalReturned=3D"0" totalMatched=3D"25008" = /> </search> <!-- CONTENT END --> <diagnostics></diagnostics> </response> Ent=F3nces tendr=EDa que hacer un output model con la estructura del = <response> mapeado a el MOBY type? Ciao! Milko =09 =09 Milko A. Skofic (IPGRI) International Plant Genetic Resources Institute Via dei Tre Denari, 472/a 00057 Maccarese (RM) ITALY E-mail: m.s...@cg... Tel: +30 06 6118286 |
From: Skofic A. M. (IPGRI) <m.s...@cg...> - 2006-11-16 09:00:42
|
OK, sorry for the amount of e-mails. I just looked at the config.ini file and this is what it contains: AliasList_1 = http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 = AliasList_3 = boolProps_1 = webapp intProps_1 = cacheExpiration intProps_2 = sessionExpiration AliasList_1 = http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 = AliasList_3 = boolProps_1 = webapp intProps_1 = cacheExpiration intProps_2 = sessionExpiration AliasList_1 = http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 = AliasList_3 = boolProps_1 = webapp intProps_1 = cacheExpiration intProps_2 = sessionExpiration AliasList_1 = http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 = AliasList_3 = boolProps_1 = webapp intProps_1 = cacheExpiration intProps_2 = sessionExpiration AliasList_1 = http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 = AliasList_3 = boolProps_1 = webapp intProps_1 = cacheExpiration intProps_2 = sessionExpiration AliasList_1 = http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 = AliasList_3 = boolProps_1 = webapp intProps_1 = cacheExpiration intProps_2 = sessionExpiration AliasList_1 = http://rs.tdwg.org/tapir/cns/alias.txt AliasList_2 = AliasList_3 = boolProps_1 = webapp intProps_1 = cacheExpiration intProps_2 = sessionExpiration # ------------------------------------------------------------------------ -------- # INSTALLATION WIDE CONFIGURATION # PLEASE ADJUST THESE SETTINGS TO YOUR ENVIRONMENT # ------------------------------------------------------------------------ -------- [Server] adminpassword = ACDC boolProps_1 = webapp Maybe it is acting like me, sending the same e-mails all the time :-) To be more serious, I think you are appending to the file instead of rewriting, could these repetitions be the problem? |
From: Skofic A. M. (IPGRI) <M.S...@CG...> - 2006-11-16 08:57:11
|
OK, you might think my computer has a spell, I stopped TAPIR and tried to restart it and I got the following error: $ python/bin/python ../webapp/start_server.py 8081 Traceback (most recent call last): File "../webapp/start_server.py", line 60, in ? import cherrypy, biocase.configuration, root, pywrapper File "/Library/WebServer/Services/pywrapper/webapp/root.py", line 17, in ? import page, biocase.configuration File "/Library/WebServer/Services/pywrapper/webapp/page.py", line 4, in ? import biocase.pywrapper File "/Library/WebServer/Services/pywrapper/lib/biocase/pywrapper/ __init__.py", line 48, in ? from biocase.pywrapper.pywrappercgi import PyWrapper, UnknownProtocolError File "/Library/WebServer/Services/pywrapper/lib/biocase/pywrapper/ pywrappercgi.py", line 20, in ? from datasource_factory import buildDatasourceObj File "/Library/WebServer/Services/pywrapper/lib/biocase/pywrapper/ datasource_factory.py", line 12, in ? from biocase.pywrapper.datasource import Datasource File "/Library/WebServer/Services/pywrapper/lib/biocase/pywrapper/ datasource.py", line 26, in ? from biocase.pywrapper.datasource_handler import datasourcePrefsHandler, DATASOURCE_NS File "/Library/WebServer/Services/pywrapper/lib/biocase/pywrapper/ datasource_handler.py", line 19, in ? from biocase.pywrapper.graph.tablegraph import tableGraphClass, tableAliasClass File "/Library/WebServer/Services/pywrapper/lib/biocase/pywrapper/ graph/tablegraph.py", line 23, in ? from biocase.pywrapper.filter.logical import AndClass File "/Library/WebServer/Services/pywrapper/lib/biocase/pywrapper/ filter/__init__.py", line 35, in ? importFilterClasses() File "/Library/WebServer/Services/pywrapper/lib/biocase/pywrapper/ filter/__init__.py", line 20, in importFilterClasses module = __import__('biocase.pywrapper.filter.'+modulename, {}, {}, modulename) File "/Library/WebServer/Services/pywrapper/lib/biocase/pywrapper/ filter/comparison.py", line 20, in ? from biocase.pywrapper.filter.concept import ExtConceptClass File "/Library/WebServer/Services/pywrapper/lib/biocase/pywrapper/ filter/concept.py", line 19, in ? cfgObj=biocase.configuration.Cfg() File "/Library/WebServer/Services/pywrapper/lib/biocase/ configuration.py", line 57, in __call__ cls.__instance=super(Singleton,cls).__call__(*args,**kw) File "/Library/WebServer/Services/pywrapper/lib/biocase/ configuration.py", line 216, in __init__ self._readConfigFiles(configFilename=configFilename) File "/Library/WebServer/Services/pywrapper/lib/biocase/ configuration.py", line 225, in _readConfigFiles self.__addCfgFile__(configFilename) File "/Library/WebServer/Services/pywrapper/lib/biocase/ configuration.py", line 278, in __addCfgFile__ cfg.read(configFilename) File "/Library/WebServer/Services/pywrapper/tools/python/lib/ python2.4/ConfigParser.py", line 267, in read self._read(fp, filename) File "/Library/WebServer/Services/pywrapper/tools/python/lib/ python2.4/ConfigParser.py", line 462, in _read raise MissingSectionHeaderError(fpname, lineno, line) ConfigParser.MissingSectionHeaderError: File contains no section headers. file: /Library/WebServer/Services/pywrapper/config/config.ini, line: 1 'AliasList_1 = http://rs.tdwg.org/tapir/cns/alias.txt\n' Manually deleting the cache files doesn't help. Bye! Milko |
From: Skofic A. M. (IPGRI) <m.s...@cg...> - 2006-11-16 08:53:31
|
By the way, maybe it has nothing to do with dot, it gives the same error whenever I try to save anything in the system ConfigTool. |
From: Skofic A. M. (IPGRI) <M.S...@CG...> - 2006-11-16 08:50:26
|
I just made a clean install on my machine and when I try to set the path to the dot binary I get the following error: 500 Internal Server Error The server encountered an unexpected condition which prevented it from fulfilling the request. Traceback (most recent call last): File "/Library/WebServer/Services/pywrapper/lib/cherrypy/ _cprequest.py", line 539, in respond cherrypy.response.body = self.handler() File "/Library/WebServer/Services/pywrapper/lib/cherrypy/ _cprequest.py", line 110, in __call__ return self.callable(*self.args, **self.kwargs) File "/Library/WebServer/Services/pywrapper/webapp/configtool/ cfgtool.py", line 204, in system cfgObj.__save__() File "/Library/WebServer/Services/pywrapper/lib/biocase/ configuration.py", line 318, in __save__ sect.__save__() File "/Library/WebServer/Services/pywrapper/lib/biocase/ configuration.py", line 120, in __save__ fpw.write("%s = %i\n" % (name.encode('utf-8'), options[name])) TypeError: int argument required Powered by CherryPy 3.0.0beta2 I know it works since I sent you the diagrams of my database that I rendered on my workstation. Bye! Milko |
From: Skofic A. M. (IPGRI) <m.s...@cg...> - 2006-11-16 08:34:38
|
You bet there is a boost, and I am becoming your nightmare... :-) If implementing multiple invocations is not something that will take a lot of resources and time I think we can wait for later to implement it. Regarding collections as query arguments I also was thinking that with the stylesheet one can build a series of OR clauses, so I think we can handle it like that. The question of referring to a custom MOBY central I think we need it now, because I don't see any GCP data types in the Canada registry and because those who are building the models use the IRRI registry, so I am afraid I will have to work alternatively with the Canada and the IRRI registry. I don't need this feature today, but let me know how long would it take if I ask you, so that I can plan it in advance. One question about MOBY in TAPIR: is there any way to control the start and limit parameters in the query you send to TAPIR? I mean override the values sent by the MOBY request. I was thinking about this to try to send a query with count='true' and start='0' and limit='0' to try to get the count back as a MOBY output parameter. Bye! Milko On Nov 16, 2006, at 1:42 , Javier de la Torre wrote: > Good news, > > >> Yesterday I must have done something and TAPIR refused to start, >> maybe some strange character in one of the data source files, I >> don't know. Today I rebuilt the data source and TAPIR starts and >> works fine. This just to point out that if anything happens to >> some configuration files it is very difficult to figure out what >> is wrong, so it could be a good thing to provide more feedback >> when you are unable to startup TAPIR, at least list the file that >> breaks the startup process. > > Thats true, there is always the debug, but I know it can be hard... > maybe the start script should say in which part did it fail to load > more clearly... > >> >> Regarding MOBy I have been trying the existing service and all >> seems to work well, fast also. Now, what about the MOBY features >> that TAPIR doesn't still support, I mean the ability to send more >> than one query at the time and the ability to accept collections >> as a query parameter? >> > The multiple invocations option I think is discarded for this > version of PyWrapper. I dont think is that complicate to implement > but I dont think is necessary to work on this in this version. > The ability to accept collections as a query parameter, although > not tested, I think is possible to use it the way it is now... I > dont see the problem transforming the moby request with a > collection into a TAPIR filter with multiple conditions... but as I > said I dont have any service with collections to test. > >> Also users need the ability to refer to a custom MOBY central >> registry. >> > > Yes... thats true... do you need it now or can we wait a bit for me > to be more free? > > I see an incredible boost in your TAPIR and PyWrapper knowledge on > the last two weeks! > > Javi. |
From: Javier de la T. <ja...@gm...> - 2006-11-16 08:33:40
|
Hi Milko, On 15/11/2006, at 16:18, Skofic A. Milko (IPGRI) wrote: > Javier, I have a question (yet another one...), suppose someone > wants to do local MOBY services, meaning services in addition to > those shared through the BMTTS file, does he/she only need to add > the information in the biomoby_settings file or is there other > stuff to do? > Uhmmm... this is not possible right now. PyWrapper is only prepared to understand moby services templates defined in the BMTTS. Again, if you think this is something necessary we could implement on the configTool the possibility to add several BMTTS servers (the code in pywrapper should be ok with multiple bmtts but havent tried). Then someone could create its own BMTTS file where he defines the services he wants to make available on top of the general ones defined in the general BMTTS... But I would not recommend this... if you want to create MO'BY services then use MOSES or any other BioMOBY tools to help you do so. I dont see PyWrapper users defining their own biomoby service templates... then they are not templates anymore. > Another thing, to test new MOBY services I copied your BMTTS file > to another location and referenced it in the preferences: now the > service does not work, nor does restoring the original link to the > BTTMS file work. I had to manually delete the cache files to make > the thing work again, I guess each time you make changes you have > to clear the relevant caches. Uhmmm... I did not have this problem... What a caching mess... I will take a look. Javi. |