From 17eea8261f58b3cd4cad477261475db879d3f592 Mon Sep 17 00:00:00 2001 From: resteve Date: Wed, 12 Mar 2014 17:46:38 +0100 Subject: [PATCH] Initial commit --- CHANGELOG | 2 + COPYRIGHT | 14 + INSTALL | 25 + LICENSE | 674 ++++++++++++++++++ MANIFEST.in | 6 + README | 52 ++ ...~lock.wsImprimirBultosECB_Definicion.xlsx# | 1 + doc/README | 14 + doc/wsImprimirBultosECB-generico_nacional.xml | 89 +++ doc/wsImprimirBultosECB_Definicion.xlsx | Bin 0 -> 17549 bytes setup.py | 40 ++ seurvalencia/__init__.py | 12 + seurvalencia/api.py | 133 ++++ seurvalencia/picking.py | 163 +++++ seurvalencia/template/get_city.xml | 15 + seurvalencia/template/picking_info.xml | 12 + seurvalencia/template/picking_send.xml | 91 +++ seurvalencia/template/validate_user.xml | 12 + seurvalencia/utils.py | 29 + test.py | 119 ++++ 20 files changed, 1503 insertions(+) create mode 100644 CHANGELOG create mode 100644 COPYRIGHT create mode 100644 INSTALL create mode 100644 LICENSE create mode 100644 MANIFEST.in create mode 100644 README create mode 100644 doc/.~lock.wsImprimirBultosECB_Definicion.xlsx# create mode 100644 doc/README create mode 100644 doc/wsImprimirBultosECB-generico_nacional.xml create mode 100644 doc/wsImprimirBultosECB_Definicion.xlsx create mode 100644 setup.py create mode 100644 seurvalencia/__init__.py create mode 100644 seurvalencia/api.py create mode 100644 seurvalencia/picking.py create mode 100644 seurvalencia/template/get_city.xml create mode 100644 seurvalencia/template/picking_info.xml create mode 100644 seurvalencia/template/picking_send.xml create mode 100644 seurvalencia/template/validate_user.xml create mode 100644 seurvalencia/utils.py create mode 100644 test.py diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 0000000..343b2c2 --- /dev/null +++ b/CHANGELOG @@ -0,0 +1,2 @@ +Version 0.1 - 2014-02-28 +* Initial release diff --git a/COPYRIGHT b/COPYRIGHT new file mode 100644 index 0000000..aa8365a --- /dev/null +++ b/COPYRIGHT @@ -0,0 +1,14 @@ +Copyright (c) 2014 Zikzakmedia SL. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..2e1a235 --- /dev/null +++ b/INSTALL @@ -0,0 +1,25 @@ +Installing Seur Valencia +======================== + +Prerequisites +------------- + + * Python (http://www.python.org/) + +Installation +------------ + +Once you've downloaded and unpacked the seurvalencia source release, enter the +directory where the archive was unpacked, and run: + + python setup.py install + +Note that you may need administrator/root privileges for this step, as +this command will by default attempt to install module to the Python +site-packages directory on your system. + +For advanced options, please refer to the easy_install and/or the distutils +documentation: + + http://peak.telecommunity.com/DevCenter/EasyInstall + http://docs.python.org/inst/inst.html diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..cc0e293 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,6 @@ +include LICENSE +include COPYRIGHT +include README +include CHANGELOG +include INSTALL +include seurvalencia/* diff --git a/README b/README new file mode 100644 index 0000000..662f344 --- /dev/null +++ b/README @@ -0,0 +1,52 @@ +Seur Valencia +============= + +Python API Seur Valencia carrier, Spain. + +Seur Valencia use API methods not equal than Seur (general). + +Features +-------- + +- Test connection +- Get cities by zio +- Create/Send shipments to Seur Valencia +- Get today deliveries (shipments) in PDF + +Usage Examples +-------------- + +Example API in test.py file + +Test connection +--------------- + +.. code-block:: python + + with API(username, password, debug) as seurvalencia_api: + print seurvalencia_api.test_connection() + +Create/send shipment to Seur Valencia +------------------------------------- + +.. code-block:: python + + with API(username, password, debug) as seurvalencia_api: + print seurvalencia_api.get_city('08720') + +Create/send shipment to Seur Valencia +------------------------------------- + +.. code-block:: python + + with Picking(username, password, debug) as picking_api: + data = {...} + reference, label, error = picking_api.create(data) + +Get today deliveries (shipments) in PDF +--------------------------------------- + +.. code-block:: python + + with Picking(username, password, debug) as picking_api: + pdf = picking_api.info() diff --git a/doc/.~lock.wsImprimirBultosECB_Definicion.xlsx# b/doc/.~lock.wsImprimirBultosECB_Definicion.xlsx# new file mode 100644 index 0000000..de0af1e --- /dev/null +++ b/doc/.~lock.wsImprimirBultosECB_Definicion.xlsx# @@ -0,0 +1 @@ +Raimon Esteve,resteve,mulleres,12.03.2014 15:49,file:///home/resteve/.config/libreoffice/3; \ No newline at end of file diff --git a/doc/README b/doc/README new file mode 100644 index 0000000..ecda12b --- /dev/null +++ b/doc/README @@ -0,0 +1,14 @@ +El método para imprimir las etiquetas es: + + wsImprimirBultosECB + +En el se informarán los datos del envío y devolverá: + + Un array con los números de etiquetas (uno por cada bulto informado). + Un string con el código que pintará todas la etiquetas en la impresora Zebra. La impresora es la misma que utiliza ahora (con el driver "Generic/Text only"). + +El método para imprimir el manifiesto (listado de todos los envíos) es: + + wsImprimirManifiestoPDF + +Este devolverá un string con el contenido de un fichero PDF, o sea, que se puede guardar directamente con extensión PDF o enviar a una impresora. diff --git a/doc/wsImprimirBultosECB-generico_nacional.xml b/doc/wsImprimirBultosECB-generico_nacional.xml new file mode 100644 index 0000000..c292e3a --- /dev/null +++ b/doc/wsImprimirBultosECB-generico_nacional.xml @@ -0,0 +1,89 @@ + + + + usuario + contraseña + + + + + + + + + 0 + N + N + N + + + jose.gomez@seurvalencia.net + + + N + N + + BULTO DE PRUEBA (ANULAR EXPEDICION) + REF-BLT-101055 + 2 + 1 + JOSE LUIS (INFORMATICA) + + 46988 + . + SEUR VALENCIA (PRUEBA) + CIUDAD DE BARCELONA + 26 + ES + . + PATERNA + . + 961325335 + N + CL + 1 + + + F + F + + + + EXPEDICION DE PRUEBA (ANULAR) + 1 + REF-EXP-1 + 12.34 + 0 + + + + + + + + 0 + + + + + + + + + + + + + + + + + 0 + 0 + 0 + + + 0 + + + \ No newline at end of file diff --git a/doc/wsImprimirBultosECB_Definicion.xlsx b/doc/wsImprimirBultosECB_Definicion.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..0739c456b1f9440f64eef0116f75197a6d084592 GIT binary patch literal 17549 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 + + + + ${username} + ${password} + + + + + ${zip} + 1 + + + diff --git a/seurvalencia/template/picking_info.xml b/seurvalencia/template/picking_info.xml new file mode 100644 index 0000000..fb409cb --- /dev/null +++ b/seurvalencia/template/picking_info.xml @@ -0,0 +1,12 @@ + + + + + ${username} + ${password} + + + + + + diff --git a/seurvalencia/template/picking_send.xml b/seurvalencia/template/picking_send.xml new file mode 100644 index 0000000..f7c9117 --- /dev/null +++ b/seurvalencia/template/picking_send.xml @@ -0,0 +1,91 @@ + + + + + ${username} + ${password} + + + + + + ${adn_aduana_destino} + ${adn_aduana_origen} + ${adn_tipo_mercancia} + ${adn_valor_declarado} + ${b2c_canal_preaviso1} + ${b2c_canal_preaviso2} + ${b2c_canal_preaviso3} + ${b2c_canal1} + ${b2c_canal2} + ${b2c_canal3} + ${b2c_fecha_entrega} + ${b2c_test_llegada} + ${b2c_test_preaviso} + ${b2c_test_reparto} + ${b2c_turno_reparto} + ${blt_observaciones} + ${blt_referencia} + ${cab_producto} + ${cab_servicio} + ${csg_atencion_de} + ${csg_ccc} + ${csg_codigo_postal} + ${csg_escalera} + ${csg_nombre} + ${csg_nombre_via} + ${csg_numero_via} + ${csg_pais} + ${csg_piso} + ${csg_poblacion} + ${csg_puerta} + ${csg_telefono} + ${csg_tipo_numero_via} + ${csg_tipo_via} + ${exp_bultos} + ${exp_cambio} + ${exp_cde} + ${exp_portes} + ${exp_reembolso} + ${exp_seguro} + ${exp_entregar_sabado} + ${exp_lc} + ${exp_observaciones} + ${exp_peso} + ${exp_referencia} + ${exp_valor_reembolso} + ${exp_valor_seguro} + ${fr_centro_logistico} + ${fr_almacenar_hasta} + ${fr_tipo_embalaje} + ${fr_almacenar_hasta} + ${fr_entrega_sabado} + ${fr_embalaje} + ${fr_etiqueta_control} + ${gs_codigo} + ${gs_codigo_centro} + ${gs_codigo_departamento} + ${gs_consolidar_pedido} + ${gs_fecha_entrega} + ${gs_hora_desde} + ${gs_hora_hasta} + ${gs_numero_pedido} + ${gs_consignatario} + ${gs_tipo_mercancia} + ${int_divisa} + ${int_famimila_mercancia} + ${int_producto_mercancia} + ${int_codigo_pais} + ${int_codigo_postal} + ${int_contracto} + ${int_extension_direccion} + ${int_telefono} + ${int_courier} + ${int_mercancia} + ${int_codigo_pais} + ${int_codigo_postal} + ${int_valor_declarado} + + + + diff --git a/seurvalencia/template/validate_user.xml b/seurvalencia/template/validate_user.xml new file mode 100644 index 0000000..b9276b1 --- /dev/null +++ b/seurvalencia/template/validate_user.xml @@ -0,0 +1,12 @@ + + + + + ${username} + ${password} + + + + + + diff --git a/seurvalencia/utils.py b/seurvalencia/utils.py new file mode 100644 index 0000000..4c3c355 --- /dev/null +++ b/seurvalencia/utils.py @@ -0,0 +1,29 @@ +#This file is part of seurvalencia. The COPYRIGHT file at the top level of +#this repository contains the full copyright notices and license terms. + +def seurvalencia_url(debug=False): + """ + Seur URL connection + + :param debug: If set to true, use Seur test URL + """ + if debug: + return 'http://www.seurvalencia.es/IC/SERVICE.ASMX' #Not know url test + else: + return 'http://www.seurvalencia.es/IC/SERVICE.ASMX' + +def services(): + services = { + '001': 'SEUR - 24', + '003': 'SEUR - 10', + '005': 'MISMO DIA', + '007': 'COURIER', + '009': 'SEUR 13:30', + '013': 'SEUR - 72', + '015': 'S-48', + '017': 'MARITIMO', + '019': 'NETEXPRESS', + '077': 'CLASSIC', + '083': 'SEUR 8:30', + } + return services diff --git a/test.py b/test.py new file mode 100644 index 0000000..493d2f3 --- /dev/null +++ b/test.py @@ -0,0 +1,119 @@ +username = '' +password = '' +debug = True + +from seurvalencia.picking import * +from seurvalencia.utils import services +from base64 import decodestring + +print "Seur services" +services = services() +print services + +with API(username, password, debug) as seurvalencia_api: + print "Test connection" + print seurvalencia_api.test_connection() + + print "Get cities by zip" + print seurvalencia_api.get_city('08720') + +with Picking(username, password, debug) as picking_api: + + print "Send a new shipment" + data = {} + + #~ data['adn_aduana_destino'] = '' + #~ data['adn_aduana_origen'] = '' + #~ data['adn_tipo_mercancia'] = '' + #~ data['adn_valor_declarado'] = '' + #~ data['b2c_canal_preaviso1'] = '' + #~ data['b2c_canal_preaviso2'] = '' + #~ data['b2c_canal_preaviso3'] = '' + #~ data['b2c_canal1'] = '' + #~ data['b2c_canal2'] = '' + #~ data['b2c_canal3'] = '' + #~ data['b2c_fecha_entrega'] = '' + #~ data['b2c_test_llegada'] = '' + #~ data['b2c_test_preaviso'] = '' + #~ data['b2c_test_reparto'] = '' + #~ data['b2c_turno_reparto'] = '' + data['blt_observaciones'] = 'Testing API Seur' + data['blt_referencia'] = 'REF-BLT-101055' + #~ data['cab_producto'] = '' + #~ data['cab_servicio'] = '' + data['csg_atencion_de'] = 'Raimon Esteve' + #~ data['csg_ccc'] = '' + data['csg_codigo_postal'] = '08720' + #~ data['csg_escalera'] = '' + data['csg_nombre'] = 'Zikzakmedia SL' + data['csg_nombre_via'] = 'Doctor Fleming, 28' + #~ data['csg_numero_via'] = '' + data['csg_pais'] = 'ES' + #~ data['csg_piso'] = '' + data['csg_poblacion'] = 'Vilafranca del Penedes' + #~ data['csg_puerta'] = '' + data['csg_telefono'] = '938902108' + #~ data['csg_tipo_numero_via'] = '' + #~ data['csg_tipo_via'] = '' + #~ data['exp_bultos'] = '' + #~ data['exp_cambio'] = '' + #~ data['exp_cde'] = '' + #~ data['exp_portes'] = '' + #~ data['exp_reembolso'] = '' + #~ data['exp_seguro'] = '' + #~ data['exp_entregar_sabado'] = '' + #~ data['exp_lc'] = '' + #~ data['exp_observaciones'] = '' + #~ data['exp_peso'] = '' + data['exp_referencia'] = 'REF-BLT-101055' + data['exp_valor_reembolso'] = '12.34' + #~ data['exp_valor_seguro'] = '' + #~ data['fr_centro_logistico'] = '' + #~ data['fr_almacenar_hasta'] = '' + #~ data['fr_tipo_embalaje'] = '' + #~ data['fr_almacenar_hasta'] = '' + #~ data['fr_entrega_sabado'] = '' + #~ data['fr_embalaje'] = '' + #~ data['fr_etiqueta_control'] = '' + #~ data['gs_codigo'] = '' + #~ data['gs_codigo_centro'] = '' + #~ data['gs_codigo_departamento'] = '' + #~ data['gs_consolidar_pedido'] = '' + #~ data['gs_fecha_entrega'] = '' + #~ data['gs_hora_desde'] = '' + #~ data['gs_hora_hasta'] = '' + #~ data['gs_numero_pedido'] = '' + #~ data['gs_consignatario'] = '' + #~ data['gs_tipo_mercancia'] = '' + #~ data['int_divisa'] = '' + #~ data['int_famimila_mercancia'] = '' + #~ data['int_producto_mercancia'] = '' + #~ data['int_codigo_pais'] = '' + #~ data['int_codigo_postal'] = '' + #~ data['int_contracto'] = '' + #~ data['int_extension_direccion'] = '' + #~ data['int_telefono'] = '' + #~ data['int_courier'] = '' + #~ data['int_mercancia'] = '' + #~ data['int_codigo_pais'] = '' + #~ data['int_codigo_postal'] = '' + #~ data['int_valor_declarado'] = '' + + reference, label, error = picking_api.create(data) + + print reference + + if error: + print error + + file = open("/tmp/seur-valencia.txt", "w") + file.write(label) + file.close() + print "Generated label file in /tmp/seur-valencia.txt" + + print "Picking PDF deliveried" + pdf = picking_api.info() + file = open("/tmp/seur-valencia.pdf", "w") + file.write(pdf) + file.close() + print "Generated PDF deliveries in /tmp/seur-valencia.pdf"