X-Git-Url: https://harishankar.org/repos/?p=getaclue.git;a=blobdiff_plain;f=crosswordpuzzle.py;h=694a7660b19884e377ed5ff0e8435a1ba9c272b0;hp=4e291dbb0bee01eee40efccc8e37386b066d12dc;hb=f9926c428d81940df4d22a6caeffa9865057b12c;hpb=d6e2568319dc01f123d8d7cddf8a85cbeb292cb4 diff --git a/crosswordpuzzle.py b/crosswordpuzzle.py index 4e291db..694a766 100644 --- a/crosswordpuzzle.py +++ b/crosswordpuzzle.py @@ -73,6 +73,52 @@ class CrosswordPuzzle: for j in range (cols): self.data[i].append (GridItem ()) + # get the AcrossLite(TM) data for exporting + def export_acrosslite (self, title, author, copyright): + # don't export if grid is frozen + if self.frozen_grid is False: + raise FrozenGridException + + across_data = [] + across_data.append ("\r\n") + across_data.append ("\r\n") + across_data.append (title + "\r\n") + across_data.append ("<AUTHOR>\r\n") + across_data.append (author + "\r\n") + across_data.append ("<COPYRIGHT>\r\n") + across_data.append (copyright + "\r\n") + across_data.append ("<SIZE>\r\n") + str_size = str (self.cols) + "x" + str (self.rows) + across_data.append (str_size + "\r\n") + across_data.append ("<GRID>\r\n") + for row in range (self.rows): + for col in range (self.cols): + if (self.data[row][col].occupied_across is True or + self.data[row][col].occupied_down is True): + across_data.append (self.data[row][col].char) + else: + across_data.append (".") + across_data.append ("\r\n") + + across_data.append ("<ACROSS>\r\n") + clues_across = self.get_clues_across () + for word, clue in clues_across: + if clue: + across_data.append (clue + "\r\n") + else: + across_data.append ("(No clue yet)\r\n") + + across_data.append ("<DOWN>\r\n") + clues_down = self.get_clues_down () + for word, clue in clues_down: + if clue: + across_data.append (clue + "\r\n") + else: + across_data.append ("(No clue yet\r\n") + + acrosslite_str = "".join (across_data) + return acrosslite_str + # get all the clues for across def get_clues_across (self): clues = []