refactored generators from lib/sole into lib/generators

This commit is contained in:
David Kerschner 2018-10-02 16:36:08 -07:00
parent 69b5c6fcb0
commit cff1674d95
12 changed files with 77 additions and 67 deletions

View File

@ -3,9 +3,10 @@
:::: /hoon/curl-hiss/gen
::
/? 310
/+ sole, old-zuse
/- sole
/+ generators, old-zuse
=, old-zuse
=, ask:sole
=, generators
:- %get |= {^ {a/hiss ~} usr/iden}
^- (sole-request:sole (cask httr))
?. ?=($get p.q.a)
@ -13,4 +14,4 @@
!!
:- *tang
:^ %| `usr `hiss`a
|=(hit/httr (output %httr hit))
|=(hit/httr (produce %httr hit))

View File

@ -3,11 +3,12 @@
:::: /hoon/curl/gen
::
/? 310
/+ sole, old-zuse
/- sole
/+ generators, old-zuse
=, old-zuse
=, ask:sole
=, generators
:- %get |= {^ {a/tape ~} ~}
^- (sole-request:sole (cask httr))
%+ curl (scan a auri:urlp)
|= hit/httr
(output %httr hit)
(produce %httr hit)

View File

@ -2,10 +2,10 @@
::
:::: /hoon/authority/dns/gen
::
/- dns
/+ sole
/- dns, sole
/+ generators
=, dns
=, ask:sole
=, generators
:- %ask
|= $: [now=@da eny=@uvJ bec=beak]
[arg=$@(~ [dom=path ~])]
@ -28,5 +28,5 @@
[%& %zone "dns zone: "]
%+ parse urs:ab
|= zone=@ta
%+ output %dns-authority
%+ produce %dns-authority
[p.hot %gcloud project zone]

View File

@ -3,7 +3,8 @@
:::: /hoon/begin/hood/gen
::
/? 310
/+ sole, old-zuse
/- sole
/+ generators, old-zuse
=, old-zuse
::
::::
@ -12,7 +13,7 @@
++ begs {his/@p tic/@p yen/@t ges/gens}
++ scug |*({a/@ b/(pole)} ?~(b ~ ?~(a ~ [-.b $(b +.b, a (dec a))])))
--
=, ask:sole
=, generators
:- %ask
|= $: {now/@da eny/@uvJ bec/beak}
{arg/_(scug *@ *{his/@p tic/@p ~})}
@ -23,7 +24,7 @@
%+ print
:- %leaf
"|begin is deprecated, please invoke urbit with -w [name] -t [ticket]"
no-result
no-product
=- -
%+ prompt
[%& %helm-begin "your urbit: ~"]
@ -39,7 +40,7 @@
|= yen/@t
=+ ney=(shax yen)
%+ print `tank`[%leaf "entropy check: {(scow %p `@p`(mug ney))}"]
%+ output %helm-begin
%+ produce %helm-begin
:* his
tic
ney

View File

@ -3,11 +3,12 @@
:::: /hoon/init-auth-basic/hood/gen
::
/? 314
/+ sole
/- sole
/+ generators
::
::::
::
=, ask:sole
=, generators
:- %ask
|= $: {now/@da eny/@uvJ bec/beak}
{arg/$@(~ {dom/path ~})}
@ -30,5 +31,5 @@
[%| %auth-passwd "password: "]
%+ parse (boss 256 (star prn))
|= pas/@t
%+ output %write-sec-atom :: XX typed pair
%+ produce %write-sec-atom :: XX typed pair
[hot (crip (en-base64:mimes:html (rap 3 usr ':' pas ~)))]

View File

@ -3,12 +3,13 @@
:::: /hoon/init-oauth1/hood/gen
::
/? 314
/+ sole, old-zuse
/- sole
/+ generators, old-zuse
=, old-zuse
::
::::
::
=, ask:sole
=, generators
:- %ask
|= $: {now/@da eny/@uvJ bec/beak}
{arg/$@(~ {dom/path ~})}
@ -31,5 +32,5 @@
[%& %oauth-secret "consumer secret: "]
%+ parse (boss 256 (star prn))
|= sec/@t
%+ output %write-sec-atom :: XX typed pair
%+ produce %write-sec-atom :: XX typed pair
[hot (of-wain:format key sec ~)]

View File

@ -3,12 +3,13 @@
:::: /hoon/init-oauth2/hood/gen
::
/? 314
/+ sole, old-zuse
/- sole
/+ generators, old-zuse
=, old-zuse
::
::::
::
=, ask:sole
=, generators
:- %ask
|= $: {now/@da eny/@uvJ bec/beak}
{arg/$@(~ {dom/path ~})}
@ -31,5 +32,5 @@
[%& %oauth-secret "client secret: "]
%+ parse (boss 256 (star prn))
|= cis/@t
%+ output %write-sec-atom :: XX typed pair
%+ produce %write-sec-atom :: XX typed pair
[hot (of-wain:format cid cis ~)]

View File

@ -3,12 +3,13 @@
:::: /hoon/google/init-oauth2/hood/gen
::
/? 314
/+ sole, old-zuse
/- sole
/+ generators, old-zuse
=, old-zuse
::
::::
::
=, ask:sole
=, generators
=, html
=, format
:- %ask
@ -28,5 +29,5 @@
=+ ~| bad-json+jon
=- `{cid/@t cis/@t}`(need (rep jon))
rep=(ot web+(ot 'client_id'^so 'client_secret'^so ~) ~):dejs-soft:format
%+ output %write-sec-atom :: XX typed pair
%+ produce %write-sec-atom :: XX typed pair
[hot (of-wain:format cid cis ~)]

View File

@ -3,9 +3,10 @@
:::: /hoon/moon/gen
::
/? 310
/+ sole, old-zuse
/- sole
/+ generators, old-zuse
=, old-zuse
=, ask:sole
=, generators
::
::::
::
@ -16,9 +17,9 @@
==
=/ ran (clan p.bec)
?: ?=({?($earl $pawn)} ran)
%- output
%- produce
:- %tang :_ ~
leaf+"can't create a moon from a {?:(?=($earl ran) "moon" "comet")}"
=/ mon (mix (lsh 5 1 (end 5 1 eny)) p.bec)
=/ tic .^(@ /a/(scot %p p.bec)/tick/(scot %da now)/(scot %p mon))
(output [%tang leaf+"ticket: {<`@p`tic>}" leaf+"moon: {<`@p`mon>}" ~])
(produce [%tang leaf+"ticket: {<`@p`tic>}" leaf+"moon: {<`@p`mon>}" ~])

View File

@ -4,23 +4,24 @@
::
/? 310
:: Input twitter keys
/+ sole, old-zuse
=, old-zuse
/- sole
/+ generators, old-zuse
=, [sole generators old-zuse]
::
=+ cryp=crub
=, ask:sole
:- %ask
|= $: {now/@da eny/@uvJ bec/beak}
{{who/ship ~} ~}
==
^- (sole-result:sole (cask tang))
^- (sole-result (cask tang))
%+ print leaf+"generating carrier {(scow %p who)} (#{(scow %ud who)})"
%+ prompt [%| %pope-pass "passphrase: "]
%+ parse (boss 256 (star prn))
|= fra/@t
=+ bur=(shaz (add who (shaz fra)))
=+ arc=(pit:nu:cryp 512 bur)
%+ output %tang
%+ produce %tang
:~ leaf+"generator: {(scow %uw bur)}"
leaf+"fingerprint: {(scow %uw fig:ex:arc)}"
==

33
lib/generators.hoon Normal file
View File

@ -0,0 +1,33 @@
/- sole
=, sole
|%
++ produce :: construct result
|* pro/* ::
[p=*(list tank) q=[%& p=[~ u=pro]]] ::
:: ::
++ print :: add output tank
|* {tan/tank res/(sole-result)} ::
?@ res res ::
[p=[i=tan t=p.res] q=q.res] ::
:: ::
++ prompt :: construct prompt
|* {pom/sole-prompt mor/(sole-dialog)} ::
[p=*(list tank) q=[%| p=pom q=mor]] ::
:: ::
++ curl :: fetch url
=| usr/knot ::
|* {pul/_purl:eyre fun/$-(httr:eyre *)} ::
:- p=*(list tank) ::
q=[%| p=`usr q=[pul %get ~ ~] r=fun] ::
:: ::
++ no-product :: empty result
[p=*(list tank) q=[%& ~]] ::
:: ::
++ parse :: parse by rule
|* {sef/rule fun/$-(* *)} ::
|= txt/sole-input ::
=+ vex=(sef [0 0] txt) ::
?: |(!=((lent txt) q.p.vex) ?=($~ q.vex)) ::
q.p.vex ::
(fun p.u.q.vex) ::
--

View File

@ -138,36 +138,4 @@
=+ dat=(transmute [%mor leg] [%ins pos `@c`0])
?> ?=($ins -.dat)
p.dat
++ ask
|%
++ output :: construct result
|* pro/* ::
[p=*(list tank) q=[%& p=[~ u=pro]]] ::
:: ::
++ print :: add output tank
|* {tan/tank res/(sole-result)} ::
?@ res res ::
[p=[i=tan t=p.res] q=q.res] ::
:: ::
++ prompt :: construct prompt
|* {pom/sole-prompt mor/(sole-dialog)} ::
[p=*(list tank) q=[%| p=pom q=mor]] ::
:: ::
++ curl :: fetch url
=| usr/knot ::
|* {pul/_purl:eyre fun/$-(httr:eyre *)} ::
:- p=*(list tank) ::
q=[%| p=`usr q=[pul %get ~ ~] r=fun] ::
:: ::
++ no-result :: empty result
[p=*(list tank) q=[%& ~]] ::
:: ::
++ parse :: parse by rule
|* {sef/rule fun/$-(* *)} ::
|= txt/sole-input ::
=+ vex=(sef [0 0] txt) ::
?: |(!=((lent txt) q.p.vex) ?=($~ q.vex)) ::
q.p.vex ::
(fun p.u.q.vex) ::
--
--