nopub option complete, closes #6
This commit is contained in:
		
							parent
							
								
									75b224e2d1
								
							
						
					
					
						commit
						9f8cc02f6c
					
				
							
								
								
									
										59
									
								
								ttbp/core.py
									
									
									
									
									
								
							
							
						
						
									
										59
									
								
								ttbp/core.py
									
									
									
									
									
								
							| @ -48,6 +48,7 @@ SETTINGS = {} | ||||
| HEADER = "" | ||||
| FOOTER = "" | ||||
| FILES = [] | ||||
| NOPUBS = [] | ||||
| 
 | ||||
| def load(ttbprc={}): | ||||
|     ''' | ||||
| @ -62,6 +63,7 @@ def load(ttbprc={}): | ||||
|     FOOTER = open(os.path.join(config.USER_CONFIG, "footer.txt")).read() | ||||
|     SETTINGS = ttbprc | ||||
| 
 | ||||
|     load_nopubs() | ||||
|     load_files() | ||||
| 
 | ||||
| def reload_ttbprc(ttbprc={}): | ||||
| @ -105,8 +107,23 @@ def load_files(): | ||||
| 
 | ||||
|     global FILES | ||||
| 
 | ||||
|     load_nopubs() | ||||
|     FILES = get_files() | ||||
| 
 | ||||
| def load_nopubs(): | ||||
|     """Load a list of the user's nopub entries. | ||||
|     """ | ||||
| 
 | ||||
|     global NOPUBS | ||||
| 
 | ||||
|     NOPUBS = [] | ||||
| 
 | ||||
|     if os.path.isfile(config.NOPUB): | ||||
|         for line in open(config.NOPUB, "r"): | ||||
|             if not re.match("^# ", line): | ||||
|                 NOPUBS.append(line.rstrip()) | ||||
| 
 | ||||
|     return len(NOPUBS) | ||||
| 
 | ||||
| ## html outputting | ||||
| 
 | ||||
| @ -417,19 +434,45 @@ def nopub(filename): | ||||
|     checks to see if given filename is in user's NOPUB | ||||
|     ''' | ||||
| 
 | ||||
|     exclude = [] | ||||
| 
 | ||||
|     if os.path.isfile(config.NOPUB): | ||||
|         for line in open(config.NOPUB, "r"): | ||||
|             exclude.append(line.rstrip()) | ||||
| 
 | ||||
|     return os.path.basename(filename) in exclude | ||||
|     return os.path.basename(filename) in NOPUBS | ||||
| 
 | ||||
| def toggle_nopub(filename): | ||||
|     """toggles pub/nopub status for the given filename | ||||
| 
 | ||||
|     if the file is to be unpublished, delete it from published locations | ||||
|     """ | ||||
| 
 | ||||
|     pass | ||||
|     global NOPUBS | ||||
| 
 | ||||
|     action = "unpublishing" | ||||
| 
 | ||||
|     if nopub(filename): | ||||
|         NOPUBS.remove(filename) | ||||
|         live_html = os.path.join(config.WWW, filename.split(".")[0]+".html") | ||||
|         if os.path.exists(live_html): | ||||
|             subprocess.call(["rm", live_html]) | ||||
|         live_gopher = os.path.join(config.GOPHER_PATH, filename) | ||||
|         if os.path.exists(live_gopher): | ||||
|             subprocess.call(["rm", live_gopher]) | ||||
|     else: | ||||
|         action = "publishing" | ||||
|         NOPUBS.append(filename) | ||||
| 
 | ||||
|     nopub_file = open(config.NOPUB, 'w') | ||||
|     nopub_file.write("""\ | ||||
| # files that don't get published html/gopher. this file is | ||||
| # generated by ttbp; editing it directly may result in unexpected | ||||
| # behavior. if you have problems, back up this file, delete it, and | ||||
| # rebuild it from ttbp.\n""") | ||||
|     for entry in NOPUBS: | ||||
|         nopub_file.write(entry+"\n") | ||||
|     nopub_file.close() | ||||
| 
 | ||||
|     load_files() | ||||
|     write("index.html") | ||||
| 
 | ||||
|     return action | ||||
| 
 | ||||
| 
 | ||||
| ############# | ||||
| ############# | ||||
|  | ||||
							
								
								
									
										11
									
								
								ttbp/ttbp.py
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								ttbp/ttbp.py
									
									
									
									
									
								
							| @ -820,23 +820,24 @@ def list_nopubs(user): | ||||
|                 pub = "(nopub)" | ||||
|             entries.append(""+entry[4]+" ("+p.no("word", entry[2])+") "+"\t"+pub) | ||||
| 
 | ||||
|         return set_nopubs(metas, entries, "publishing status of your feels:") | ||||
|         return set_nopubs(metas, entries, user, "publishing status of your feels:") | ||||
|     else: | ||||
|         redraw("no feels recorded by ~"+user) | ||||
| 
 | ||||
| def set_nopubs(metas, entries, prompt): | ||||
| def set_nopubs(metas, entries, user, prompt): | ||||
|     """displays a list of entries for pub/nopub toggling. | ||||
|     """ | ||||
| 
 | ||||
| 
 | ||||
|     choice = menu_handler(entries, "pick an entry from the list, or type 'q' to go back: ", 10, SETTINGS.get("rainbows", False), prompt) | ||||
| 
 | ||||
|     if choice is not False: | ||||
|         target = os.path.basename(metas[choice][0]) | ||||
|         core.toggle_nopub(target) | ||||
|         action = core.toggle_nopub(target) | ||||
|         redraw(prompt) | ||||
|         print("setting {entry}".format(entry=target)) | ||||
|         #print("{action} {entry}".format(action=action, entry=target)) | ||||
| 
 | ||||
|         return set_nopubs(metas, entries, prompt) | ||||
|         return list_nopubs(user) | ||||
| 
 | ||||
|     else: | ||||
|         redraw() | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user