Files
daily-journal-prompt/__pycache__/simple_generate.cpython-313.pyc

65 lines
12 KiB
Plaintext
Raw Normal View History

2026-01-02 15:13:03 -07:00
<EFBFBD>
<00>@Xi<58>!<00><00><><00>SrSSKrSSKrSSKrSSKrSSKJr SSKJrJrJ r SSK
J r SSK J r "SS5rS r\S
:Xa\"5 gg) zV
Simple Daily Journal Prompt Generator
A lightweight version without rich dependency.
<EFBFBD>N)<01>datetime)<03>List<73>Dict<63>Any)<01>OpenAI)<01> load_dotenvc<00><><00>\rSrSrSrSS\4SjjrSrSrSr Sr
S \4S
jr S \S \ \ \\44S jrS \ \ \\44S jrS\ \ \\44SjrSrSS\ \\4S\4SjjrSrg)<18>SimplePromptGenerator<6F>z'Simple version without rich dependency.<2E> config_pathc<00><><00>XlSUl/UlSUlUR 5 UR 5 UR 5 g)z,Initialize the generator with configuration.N<>)r <00>client<6E>historic_prompts<74>prompt_template<74> _load_config<69>_load_prompt_template<74>_load_historic_prompts)<02>selfr s <20>simple_generate.py<70>__init__<5F>SimplePromptGenerator.__init__sG<00><00>&<26><18><1A><04> <0B> "<22><04><1D>!<21><04><1C> <0A><19><19><1B> <0A>"<22>"<22>$<24> <0C>#<23>#<23>%<25>c<00><><00>[UR5 [R"S5=(d [R"S5UlUR(d,[ S5 [ S5 [ R"S5 [R"SS5Ul[R"SS 5Ul [URURS
9Ul g ) z)Load configuration from environment file.<2E>DEEPSEEK_API_KEY<45>OPENAI_API_KEYz$Error: No API key found in .env filez?Please add DEEPSEEK_API_KEY or OPENAI_API_KEY to your .env file<6C><00> API_BASE_URLzhttps://api.deepseek.com<6F>MODELz deepseek-chat)<02>api_key<65>base_urlN) rr <00>os<6F>getenvr <00>print<6E>sys<79>exitr!<00>modelrr)rs rr<00>"SimplePromptGenerator._load_config#s<><00><00><13>D<EFBFBD>$<24>$<24>%<25><1A>y<EFBFBD>y<EFBFBD>!3<>4<>S<><02> <09> <09>BR<42>8S<38><04> <0C><13>|<7C>|<7C> <11>8<> 9<> <11>S<> T<> <0F>H<EFBFBD>H<EFBFBD>Q<EFBFBD>K<EFBFBD><1B> <09> <09>.<2E>2L<32>M<><04> <0A><18>Y<EFBFBD>Y<EFBFBD>w<EFBFBD><0F>8<><04>
<EFBFBD><1D><18>L<EFBFBD>L<EFBFBD><19>]<5D>]<5D>
<EFBFBD><04> rc<00><><00>[SS5nUR5UlSSS5 g!,(df  g=f![a$ [ S5 [
R "S5 gf=f)z,Load the prompt template from ds_prompt.txt.z ds_prompt.txt<78>rNzError: ds_prompt.txt not foundr)<07>open<65>readr<00>FileNotFoundErrorr$r%r&<00>r<00>fs rr<00>+SimplePromptGenerator._load_prompt_template:sO<00><00> <18><15>o<EFBFBD>s<EFBFBD>+<2B>q<EFBFBD>'(<28>v<EFBFBD>v<EFBFBD>x<EFBFBD><04>$<24>,<2C>+<2B>+<2B><> <20> <18> <11>2<> 3<> <0F>H<EFBFBD>H<EFBFBD>Q<EFBFBD>K<EFBFBD> <18>s#<00> ><00>-<03>><00>
;<07>><00>><00>+A,<03>+A,c<00><><00>[SS5n[R"U5UlSSS5 g!,(df  g=f![[R
4a [ S5 /Ulgf=f)z%Load historic prompts from JSON file.<2E>historic_prompts.jsonr*Nz+Warning: Starting with empty prompt history)r+<00>json<6F>loadrr-<00>JSONDecodeErrorr$r.s rr<00>,SimplePromptGenerator._load_historic_promptsCsZ<00><00> '<27><15>-<2D>s<EFBFBD>3<>q<EFBFBD>(,<2C> <09> <09>!<21> <0C><04>%<25>4<>3<>3<><33>!<21>4<EFBFBD>#7<>#7<>8<> '<27> <11>?<3F> @<40>$&<26>D<EFBFBD> !<21> '<27>s*<00> A<00>3<03>A<00>
A<07>A<00>A<00>,A3<03>2A3c<00><><00>[UR5S:<3A>aURSSUl[SS5n[R"URUSS9 SSS5 g!,(df  g=f)z:Save historic prompts to JSON file (keeping only last 60).<2E><i<><69><EFBFBD><EFBFBD>Nr2<00>w<><00><01>indent)<05>lenrr+r3<00>dumpr.s r<00>_save_historic_prompts<74>,SimplePromptGenerator._save_historic_promptsLs[<00><00> <0F>t<EFBFBD>$<24>$<24> %<25><02> *<2A>$(<28>$9<>$9<>#<23>$<24>$?<3F>D<EFBFBD> !<21> <11>)<29>3<EFBFBD> /<2F>1<EFBFBD> <10>I<EFBFBD>I<EFBFBD>d<EFBFBD>+<2B>+<2B>Q<EFBFBD>q<EFBFBD> 9<>0<> /<2F> /<2F>s <00>!A$<03>$
A2<07>returnc<00><><00>UR(a2[R"URSS9nURSU3nU$URnU$)z.Prepare the full prompt with historic context.r:r;z
Previous prompts:
)rr3<00>dumpsr)r<00>historic_context<78> full_prompts r<00>_prepare_prompt<70>%SimplePromptGenerator._prepare_promptUsW<00><00> <0F> <20> <20>#<23>z<EFBFBD>z<EFBFBD>$<24>*?<3F>*?<3F><01>J<> <1C>!<21>1<>1<>2<>2I<32>JZ<4A>I[<5B>\<5C>K<EFBFBD><1B><1A><1F>.<2E>.<2E>K<EFBFBD><1A>r<00>response_contentc<00>J<00>[R"U5n/n[S5HBnSU3nXR;dMX%nS[UR5U-S3U0nUR U5 MD U$![R a<> [S5 UR5RS5n/n[USS5H^upIU R5n U (dM[U 5S:<3A>dM/S[UR5U-S3U 0nUR U5 M` Us$f=f) z-Parse the AI response to extract new prompts.<2E><00> newprompt<70>prompt<70>02dzHWarning: AI response is not valid JSON, attempting to extract prompts...<2E>
N<EFBFBD>2) r3<00>loads<64>ranger=r<00>appendr5r$<00>strip<69>split<69> enumerate)
rrH<00>data<74> new_prompts<74>i<>key<65> prompt_text<78>
prompt_obj<EFBFBD>lines<65>lines
r<00>_parse_ai_response<73>(SimplePromptGenerator._parse_ai_response_s-<00><00>! <1F><17>:<3A>:<3A>.<2E>/<2F>D<EFBFBD><1D>K<EFBFBD><1A>1<EFBFBD>X<EFBFBD><01>!<21>!<21><13>o<EFBFBD><03><16>;<3B>"&<26>)<29>K<EFBFBD> <20><13>T<EFBFBD>%:<3A>%:<3A>!;<3B>a<EFBFBD>!?<3F><03> D<>E<>{<7B>"<16>J<EFBFBD> <20>&<26>&<26>z<EFBFBD>2<><1E><1F> <1E><><13>#<23>#<23> <1F> <11>\<5C> ]<5D>%<25>*<2A>*<2A>,<2C>2<>2<>4<EFBFBD>8<>E<EFBFBD><1C>K<EFBFBD>$<24>U<EFBFBD>2<EFBFBD>A<EFBFBD>Y<EFBFBD>/<2F><07><01><1B>z<EFBFBD>z<EFBFBD>|<7C><04><17>4<EFBFBD>C<EFBFBD><04>I<EFBFBD><02>N<EFBFBD> <20><13>T<EFBFBD>%:<3A>%:<3A>!;<3B>a<EFBFBD>!?<3F><03> D<>E<>t<EFBFBD>"<16>J<EFBFBD> <20>&<26>&<26>z<EFBFBD>2<> 0<><1F> <1E>! <1F>s#<00>.A-<00>8A-<00>-A(D"<03> D"<03>*5D"<03>!D"c<00> <00>[S5 UR5n[S5 URRRR UR SSS.SUS./SSS 9nURS
RRnURU5nU(d [S 5 /$URRU5 UR5 U$![an[S U35 /sS nA$S nAff=f)z&Generate new journal prompts using AI.z"
Generating new journal prompts...zCalling AI API...<2E>systemzdYou are a creative writing assistant that generates journal prompts. Always respond with valid JSON.)<02>role<6C>content<6E>usergffffff<66>?i<>)r'<00>messages<65> temperature<72>
max_tokensrzError calling AI API: Nz3Error: Could not parse any prompts from AI response)r$rFr<00>chat<61> completions<6E>creater'<00>choices<65>messagerc<00> Exceptionr^r<00>extendr?)rrE<00>responserH<00>erWs r<00>generate_prompts<74>&SimplePromptGenerator.generate_prompts<74>s <00><00> <0A>3<>4<><1B>*<2A>*<2A>,<2C> <0B> <16> <11>%<25> &<26><1B>{<7B>{<7B>'<27>'<27>3<>3<>:<3A>:<3A><1A>j<EFBFBD>j<EFBFBD>%<25>3Y<02>Z<02>#<23> <0B><<3C><12> <20><1F>;<3B><0E>H<EFBFBD> (<28>/<2F>/<2F><01>2<>:<3A>:<3A>B<>B<> <1C><1B>-<2D>-<2D>.><3E>?<3F> <0B><1A> <11>G<> H<><15>I<EFBFBD> <0A><1D><1D>$<24>$<24>[<5B>1<> <0A>#<23>#<23>%<25><1A><1A><>#<19> <16> <11>*<2A>1<EFBFBD>#<23>.<2E> /<2F><15>I<EFBFBD><49> <16>s<00>A0C<00>
D<03>)C><03>8D<03>>D<03>promptsc<00><00>[S5 [S5 [S5 [US5HUup#[UR55SnX4n[SUS35 [S5 [U5 [S 5 MW g
) z-Display generated prompts in a simple format.z=
============================================================u%✨ NEW JOURNAL PROMPTS GENERATED ✨z=============================================================
rrzPrompt #<23>:z(----------------------------------------z)----------------------------------------
N)r$rU<00>list<73>keys)rrsrX<00> prompt_dict<63>
prompt_keyrZs r<00>display_prompts<74>%SimplePromptGenerator.display_prompts<74>su<00><00> <0A>m<EFBFBD><1C> <0A>5<>6<> <0A>m<EFBFBD><1C>'<27><07><11>3<>N<EFBFBD>A<EFBFBD><1D>k<EFBFBD>.<2E>.<2E>0<>1<>!<21>4<>J<EFBFBD>%<25>1<>K<EFBFBD> <11>H<EFBFBD>Q<EFBFBD>C<EFBFBD>q<EFBFBD>/<2F> "<22> <11>(<28>O<EFBFBD> <11>+<2B> <1E> <11>/<2F> "<22>4rc<00><><00>[UR5n[S5 [S5 [SU35 [S5 [S[SSU-
535 g) z%Show statistics about prompt history.z
Prompt History Statistics:z------------------------------zTotal prompts in history: zHistory capacity: 60 promptszAvailable slots: rr8N)r=rr$<00>max)r<00> total_promptss r<00>show_history_stats<74>(SimplePromptGenerator.show_history_stats<74>sX<00><00><1B>D<EFBFBD>1<>1<>2<> <0A> <0A>,<2C>-<2D> <0A>h<EFBFBD><0F> <0A>*<2A>=<3D>/<2F>:<3A>;<3B> <0A>,<2C>.<2E> <0A>!<21>#<23>a<EFBFBD><12>m<EFBFBD>);<3B>"<<3C>!=<3D>><3E>?rNrx<00>filenamec<00><00>[UR55SnXnU(d*[R"5R S5nSUS3n[ US5nUR S[R"5R S5S35 UR S 5 UR U5 UR S
5 UR S 5 S S S 5 [S U35 g !,(df  N=f)zSave a prompt to a text file.rz %Y%m%d_%H%M%S<>journal_prompt_z.txtr9zJournal Prompt - z%Y-%m-%d %H:%M:%SrNz4==================================================
z5
==================================================
uHappy writing! ✍️
NzPrompt saved to )rvrwr<00>now<6F>strftimer+<00>writer$)rrxr<>ryrZ<00> timestampr/s r<00>save_prompt_to_file<6C>)SimplePromptGenerator.save_prompt_to_file<6C>s<><00><00><19>+<2B>*<2A>*<2A>,<2C>-<2D>a<EFBFBD>0<>
<EFBFBD>!<21>-<2D> <0B><17> <20> <0C> <0C><0E>/<2F>/<2F><0F>@<40>I<EFBFBD>(<28><19> <0B>4<EFBFBD>8<>H<EFBFBD> <11>(<28>C<EFBFBD> <20>A<EFBFBD> <0A>G<EFBFBD>G<EFBFBD>'<27><08> <0C> <0C><0E>(?<3F>(?<3F>@S<>(T<>'U<>UW<55>X<> Y<> <0A>G<EFBFBD>G<EFBFBD>O<EFBFBD> $<24> <0A>G<EFBFBD>G<EFBFBD>K<EFBFBD> <20> <0A>G<EFBFBD>G<EFBFBD>*<2A> +<2B> <0A>G<EFBFBD>G<EFBFBD>-<2D> .<2E> !<21> <0E> <20><18>
<EFBFBD>+<2B>,<2C>!<21> <20>s <00>A<C1<03>1
C?)r r!rr rr'r)<01>.env)N)<14>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__firstlineno__<5F>__doc__<5F>strrrrrr?rFrrr^rqrzrr<><00>__static_attributes__<5F>rrr
r
s<><00><00>1<> &<26>C<EFBFBD> &<26>
<EFBFBD>.<18>'<27>:<3A><1B><13><1B>#<1F>3<EFBFBD>#<1F>4<EFBFBD><04>S<EFBFBD>#<23>X<EFBFBD><0E>;O<>#<1F>J'<1B>$<24>t<EFBFBD>C<EFBFBD><13>H<EFBFBD>~<7E>"6<>'<1B>R#<23>t<EFBFBD>D<EFBFBD><13>c<EFBFBD><18>N<EFBFBD>';<3B>#<23> @<01>-<2D>t<EFBFBD>C<EFBFBD><13>H<EFBFBD>~<7E>-<2D><13>-<2D>-rr
c<00>F<00>[R"SS9nURSSSSS9 URSS [S
S 9 URS S SSS9 UR 5n[ UR S9nUR(aUR5 gUR5nU(awURU5 UR(aTURnSUs=::a[U5::aO OURX4S-
5 g[S[U535 ggg)z'Main entry point for the simple script.z2Generate journal prompts using AI (simple version))<01> descriptionz--statsz-s<>
store_truezShow history statistics)<02>action<6F>helpz--savez-Sz+Save a specific prompt number to file (1-6))<02>typer<65>z--configz-cr<63>z*Path to configuration file (default: .env))<02>defaultr<74>)r rz+Error: Prompt number must be between 1 and N)<0F>argparse<73>ArgumentParser<65> add_argument<6E>int<6E>
parse_argsr
<00>config<69>statsrrqrz<00>saver=r<>r$)<05>parser<65>args<67> generatorrW<00>
prompt_nums r<00>mainr<6E><00>s<00><00> <15> $<24> $<24>1e<31> f<>F<EFBFBD>
<EFBFBD><17><17><11>4<EFBFBD><1B> &<26><18><06>
 <0B><17><17><10>$<24> <10> :<3A><18><06>
 <0B><17><17><12>D<EFBFBD><16> 9<><18><06> <12> <1C> <1C> <1E>D<EFBFBD>&<26>$<24>+<2B>+<2B>><3E>I<EFBFBD> <0B>z<EFBFBD>z<EFBFBD><11>$<24>$<24>&<26> <20>0<>0<>2<> <0B> <16> <15> %<25> %<25>k<EFBFBD> 2<><14>y<EFBFBD>y<EFBFBD>!<21>Y<EFBFBD>Y<EFBFBD>
<EFBFBD><14>
<EFBFBD>6<>c<EFBFBD>+<2B>&6<>6<><1D>1<>1<>+<2B>1<EFBFBD>n<EFBFBD>2M<32>N<><19>G<><03>K<EFBFBD>HX<48>GY<47>Z<>[<5B> <19> r<00>__main__)r<>r"r3r%r<>r<00>typingrrr<00>openair<00>dotenvrr
r<>r<>r<>rr<00><module>r<>sO<00><01><04>

<EFBFBD> <0B>
<EFBFBD><0F><1D>"<22>"<22><19><1E>E-<2D>E-<2D>P&\<01>R <0C>z<EFBFBD><19><08>F<EFBFBD>r