From 507b397f8c658acc7dc9bb8a73d9a5f62faae712 Mon Sep 17 00:00:00 2001 From: Eytlin Date: Sun, 5 Nov 2023 14:43:39 +0300 Subject: [PATCH] LICENSE Update + 1.2 A40+ release --- LICENSE | 695 +++++++++++++++++++++++++++++++++++++-- README.md | 13 +- dist/peripage-1.2.tar.gz | Bin 0 -> 25813 bytes peripage/__init__.py | 25 +- peripage/__main__.py | 19 +- setup.py | 3 +- 6 files changed, 710 insertions(+), 45 deletions(-) create mode 100644 dist/peripage-1.2.tar.gz diff --git a/LICENSE b/LICENSE index 634666a..f288702 100644 --- a/LICENSE +++ b/LICENSE @@ -1,21 +1,674 @@ -MIT License - -Copyright (c) 2021 bitrate16 - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + 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/README.md b/README.md index ab64886..0742b0e 100644 --- a/README.md +++ b/README.md @@ -236,17 +236,8 @@ View this [python notebook](https://github.com/bitrate16/peripage-python/blob/ma * [Elias Weingärtner](https://github.com/eliasweingaertner) for initial work in reverse-engineering bluetooth protocol * [bitrate16](https://github.com/bitrate16) for additional research and python module * [henryleonard](https://github.com/henryleonard) for specs of A40 printer - -## Disclaimer - -**THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE.** +* [anthony-foulfoin](https://github.com/anthony-foulfoin) for specs of A40+ printer ## License -[MIT License](https://github.com/bitrate16/peripage-python/blob/main/LICENSE) +[GPLv3 License](https://github.com/bitrate16/peripage-python/blob/main/LICENSE) diff --git a/dist/peripage-1.2.tar.gz b/dist/peripage-1.2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..69385ab2ef749eb6d6b0a09d54cbd0e38521c155 GIT binary patch literal 25813 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. + __title__ = 'Peripage buetooth printing utility' -__version__ = '1.1' +__version__ = '1.2' __author__ = 'bitrate16' -__license__ = 'MIT' -__copyright__ = 'Copyright (c) MIT 2021-2023 bitrate16' +__license__ = 'GPLv3' +__copyright__ = 'Copyright (c) GPLv3 2021-2023 bitrate16 (pegasko)' import time diff --git a/peripage/__main__.py b/peripage/__main__.py index f761aec..e50502f 100644 --- a/peripage/__main__.py +++ b/peripage/__main__.py @@ -1,8 +1,19 @@ -#!/usr/bin/env python3 - -# MIT License +# peripage-python - python library for peripage thermal printers +# Copyright (C) 2020-2023 bitrate16 (pegasko) +# +# 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. # -# Copyright (c) 2021 bitrate16 +# 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 . + def main(): import argparse diff --git a/setup.py b/setup.py index 495bff2..0e68165 100644 --- a/setup.py +++ b/setup.py @@ -3,13 +3,12 @@ setup( name = 'peripage', packages = ['peripage'], - version = '1.1', + version = '1.2', license='MIT', description = 'Utility for printing on Peripage printers via bluetooth', author = 'bitrate16', author_email = 'bitrate16@gmail.com', url = 'https://github.com/bitrate16/peripage-python', - download_url = 'https://github.com/bitrate16/peripage-python/archive/v1.1.tar.gz', keywords = ['PERIPAGE', 'BLUETOOTH', 'THERMAL PRINTER', 'PRINTER'], install_requires=[ 'PyBluez>=0.23',