def read_file(self, file_path): jfile = open(file_path, "r") try: book_props = json.load(jfile) finally: jfile.close() self._book = cBook(book_props['title']) self._book.set_author(book_props['author']) self._book.set_license(book_props['license']) page_list = book_props['pages'] for p in page_list: page_props = cPage(p['title']) page_props.set_text(p['text']) self._book.add_page(page_props) for p in page_list: for o in p['options']: page_dest = None page_orig = None for pp in self._book.get_pages(): if pp.get_title() == o['page']: page_dest = pp if pp.get_title() == p['title']: page_orig = pp if page_dest == None or page_orig == None: print(_("Error while loading file")) option_props = cOption(o['text'], page_dest) page_orig.add_option(option_props) self._start_book(Toolbars.ColorLetra.get_color())
def _add_page_button_cb(self, w, page_list_model, page_list_view): new_page = cPage(_("New page")) self._book.add_page(new_page) page_list_model.append([new_page.get_title()]) # TODO: seleccionar nueva pagina page_list_view.set_cursor(-1)
def empty_book(): mybook = cBook(_("Title")) mybook.set_license(_("CC-BY")) p1 = cPage(_("First page")) op = cOption(_("Return"), mybook) p1.add_option(op) mybook.add_page(p1) return mybook
def credits_book(): mybook = cBook(_("Credits")) p1 = cPage(_("Credits")) p1.set_text( _("""Authors: Gabriel Eirea <*****@*****.**> Ignacio Rodriguez <*****@*****.**> Thanks to: Flavio Danesse <*****@*****.**> ¡Thanks for use this program! :) To continue create a empty book!""")) mybook.add_page(p1) return mybook
def tutorial_book(): mybook = cBook(_("How to use Adventure Book")) mybook.set_license(_("CC-BY")) p1 = cPage(_("What are Adventure Books?")) mybook.add_page(p1) p1.set_text( _("""Adventure Books are books that allow the reader to choose between different alternatives. Every page in an Adventure Book offers several options and depending on your choice the story follows in different directions. You can read an existing Adventure Book and if you want you can modify it and distribute among your friends. Or you can create a new Adventure Book from scratch.""")) p2 = cPage(_("How can I read an Adventure Book?")) mybook.add_page(p2) p2.set_text( _("""To read an Adventure Book, first load it from the journal. A cover page with the title and author are displayed. You can press the 'Start reading' button to go to the first page. Every page has a text and one or more buttons with different choices. When you press a button, you go to the page corresponding to that option. If you want, you can go back to the first page with the button 'Start from the beginning'.""")) p3 = cPage(_("How can I create an Adventure Book?")) mybook.add_page(p3) p3.set_text( _("""Adventure Books can be created with the 'New book' button. Introduce the title, your name, and choose a license. (A license is a legal term that declares if you want your book to be copied and shared; please read more about licenses in the Creative Commons web page.) Press the 'Edit book contents' button to enter the text of your book. You have to create the pages for your book; for every page you have to add a title and a text, and then create as many options as choices you want to give the reader in that particular page. For every option, you have to define to which page the story is going to jump. Please give every page a different title so you won't get confused. If you want the story to jump to a page you haven't created yet, don't worry, you can define it later.""")) p4 = cPage(_("How can I modify an Adventure Book?")) mybook.add_page(p4) p4.set_text( _("""All Adventure Books can be modified. You simply select the 'Edit book contents' button and you can edit and modify all the pages in the book. After you're done, it's good to use the 'Check book for missing parts' button to verify that your book is correct; if there is an error it will show you where the problem is so you can correct it.""")) p5 = cPage(_("Credits")) mybook.add_page(p5) p5.set_text( _("""Authors: Gabriel Eirea <*****@*****.**> Ignacio Rodriguez <*****@*****.**> Thanks to: Flavio Danesse <*****@*****.**> ¡Thanks for using this program! :) To continue create an empty book!""")) o1 = cOption(_("How to read"), p2) o2 = cOption(_("How to create"), p3) o3 = cOption(_("How to modify"), p4) o4 = cOption(_("Credits"), p5) p1.add_option(o1) p1.add_option(o2) p1.add_option(o3) p1.add_option(o4) o4 = cOption(_("Return"), p1) p2.add_option(o4) p3.add_option(o4) p4.add_option(o4) p5.add_option(o4) return mybook