File tree Expand file tree Collapse file tree 8 files changed +48
-27
lines changed Expand file tree Collapse file tree 8 files changed +48
-27
lines changed Original file line number Diff line number Diff line change 1
1
The MIT License (MIT)
2
2
3
- Copyright (C) 2015 Yasuaki Uechi <http ://randompaper.co>
3
+ Copyright (C) 2016 Yasuaki Uechi (https ://randompaper.co)
4
4
5
5
Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
of this software and associated documentation files (the "Software"), to deal
Original file line number Diff line number Diff line change @@ -52,7 +52,7 @@ qiita my <query:optional>
52
52
53
53
### Development Installation
54
54
55
- Run folloing commands to link this workflow to Alfred app manually.
55
+ Run following commands to link this workflow to Alfred app manually.
56
56
57
57
```
58
58
$ go get github.com/uetchy/alfred-qiita-workflow
Original file line number Diff line number Diff line change @@ -2,21 +2,22 @@ package main
2
2
3
3
import (
4
4
"encoding/json"
5
+ "github.com/mitchellh/go-homedir"
5
6
"github.com/spf13/viper"
6
7
"os"
7
- "os/user"
8
8
"path/filepath"
9
9
)
10
10
11
11
type config struct {
12
12
AccessToken string `json:"accessToken"`
13
+ ID string `json:"id"`
13
14
}
14
15
15
- var C config
16
+ var marshaledConfig config
16
17
17
18
func getDefaultConfigPath () string {
18
- currentUser , _ := user . Current ()
19
- return filepath .Join (currentUser . HomeDir , "Library/Application Support/Alfred 2/Workflow Data/" , bundleId )
19
+ homeDir , _ := homedir . Dir ()
20
+ return filepath .Join (homeDir , "Library/Application Support/Alfred 2/Workflow Data/" , bundleID )
20
21
}
21
22
22
23
func loadConfig () error {
@@ -33,9 +34,9 @@ func loadConfig() error {
33
34
34
35
func saveConfig () error {
35
36
configPath := getDefaultConfigPath ()
36
- viper .Marshal ( & C )
37
+ viper .Unmarshal ( & marshaledConfig )
37
38
38
- buf , err := json .MarshalIndent (C , "" , " " )
39
+ buf , err := json .MarshalIndent (marshaledConfig , "" , " " )
39
40
if err != nil {
40
41
return err
41
42
}
Original file line number Diff line number Diff line change 149
149
<key >keyword </key >
150
150
<string >qiita search </string >
151
151
<key >queuedelaycustom </key >
152
- <integer >1 </integer >
152
+ <integer >3 </integer >
153
153
<key >queuedelayimmediatelyinitially </key >
154
154
<false />
155
155
<key >queuedelaymode </key >
156
156
<integer >0 </integer >
157
157
<key >queuemode </key >
158
- <integer >1 </integer >
158
+ <integer >2 </integer >
159
159
<key >runningsubtext </key >
160
160
<string >Seaching for "{query}" ... </string >
161
161
<key >script </key >
Original file line number Diff line number Diff line change @@ -9,24 +9,23 @@ import (
9
9
)
10
10
11
11
const (
12
- bundleId = "co.randompaper.alfred-qiita-workflow"
12
+ bundleID = "co.randompaper.alfred-qiita-workflow"
13
13
version = "2.0.0"
14
14
)
15
15
16
16
func newQiitaClient () (* qiita.Client , error ) {
17
- err := loadConfig ()
18
- if err != nil {
19
- return nil , err
17
+ loadConfig ()
18
+ var client * qiita.Client
19
+ if accessToken := viper .GetString ("accessToken" ); accessToken != "" {
20
+ ts := oauth2 .StaticTokenSource (
21
+ & oauth2.Token {AccessToken : accessToken },
22
+ )
23
+ tc := oauth2 .NewClient (oauth2 .NoContext , ts )
24
+ client = qiita .NewClient (tc )
25
+ } else {
26
+ client = qiita .NewClient (nil )
20
27
}
21
- accessToken := viper .GetString ("accessToken" )
22
- if accessToken == "" {
23
- return nil , err
24
- }
25
- ts := oauth2 .StaticTokenSource (
26
- & oauth2.Token {AccessToken : accessToken },
27
- )
28
- tc := oauth2 .NewClient (oauth2 .NoContext , ts )
29
- client := qiita .NewClient (tc )
28
+
30
29
return client , nil
31
30
}
32
31
Original file line number Diff line number Diff line change 1
1
package main
2
2
3
3
import (
4
- // "fmt"
4
+ "fmt"
5
5
"github.com/codegangsta/cli"
6
6
"github.com/pascalw/go-alfred"
7
7
"github.com/uetchy/go-qiita/qiita"
8
+ "os"
8
9
"strings"
9
10
)
10
11
11
12
func cmdSearch (c * cli.Context ) {
12
13
query := strings .Join (c .Args (), " " )
13
14
client , err := newQiitaClient ()
14
15
if err != nil {
15
- return
16
+ fmt .Println (err )
17
+ os .Exit (1 )
16
18
}
17
19
18
20
items , _ , _ := client .Items .List (& qiita.ItemsListOptions {Query : query })
Original file line number Diff line number Diff line change @@ -4,16 +4,33 @@ import (
4
4
"fmt"
5
5
"github.com/codegangsta/cli"
6
6
"github.com/spf13/viper"
7
+ "github.com/uetchy/go-qiita/qiita"
8
+ "golang.org/x/oauth2"
9
+ "os"
7
10
)
8
11
9
12
func cmdSetup (c * cli.Context ) {
10
13
token := c .Args ().First ()
11
14
15
+ ts := oauth2 .StaticTokenSource (
16
+ & oauth2.Token {AccessToken : token },
17
+ )
18
+ tc := oauth2 .NewClient (oauth2 .NoContext , ts )
19
+ client := qiita .NewClient (tc )
20
+ user , err := client .AuthenticatedUser .Show ()
21
+ if err != nil {
22
+ fmt .Println ("Auth failed" )
23
+ os .Exit (1 )
24
+ }
25
+
12
26
loadConfig ()
13
27
viper .Set ("accessToken" , token )
14
- err := saveConfig ()
28
+ viper .Set ("id" , user .Id )
29
+
30
+ err = saveConfig ()
15
31
if err != nil {
16
32
fmt .Println (err )
33
+ os .Exit (1 )
17
34
}
18
35
19
36
fmt .Println ("Token saved" )
Original file line number Diff line number Diff line change @@ -3,6 +3,7 @@ package main
3
3
import (
4
4
"github.com/codegangsta/cli"
5
5
"github.com/pascalw/go-alfred"
6
+ "github.com/spf13/viper"
6
7
)
7
8
8
9
func cmdStocks (c * cli.Context ) {
@@ -11,7 +12,8 @@ func cmdStocks(c *cli.Context) {
11
12
if err != nil {
12
13
return
13
14
}
14
- items , _ , _ := client .Users .Stocks ("uetchy" , nil )
15
+
16
+ items , _ , _ := client .Users .Stocks (viper .GetString ("id" ), nil )
15
17
16
18
alfred .InitTerms (query )
17
19
response := alfred .NewResponse ()
You can’t perform that action at this time.
0 commit comments