Skip to content

Commit 6555455

Browse files
authored
Merge pull request #15 from ArcaneDisgea/master
"better" cli?
2 parents 069b956 + 14aef79 commit 6555455

File tree

2 files changed

+158
-2
lines changed

2 files changed

+158
-2
lines changed

Diff for: README.md

+18-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,22 @@
11
# lodestone-parser
22
Parse lodestone for those juicy details
33

4-
- Run `php cli <func> <arg1> <arg2> <arg3>` for debugging
4+
- Run `php cli <func> <arguments>` for debugging
55
- Run `php tests` to validate tests
6+
7+
|CLI Command|Arguments|Description|
8+
|-|-|-|
9+
|`character`|`<id>`|Prints a character parse.
10+
|`freecompany`|`<id>`|Prints a freecompanies parse.|
11+
|`pvpteam`|`<id>`|Prints a pvpteam parse.|
12+
|`linkshell`|`<id>`|Prints a linkshell parse.|
13+
|`achievements`|`<id>`|Prints a characters achievement parse.|
14+
|`banners`|none|Prints the currently displayed banners on the lodestone homepage.|
15+
|`leaderboards`|`feast`,`potd`,`hoh`|Prints the current leaderboard parse for The Feast, Palace of The Dead, or Heaven on High.|
16+
17+
All commands accept a flag to print the returned blob to a json file.
18+
Example
19+
```
20+
// prints returned object to file myCharacter.json
21+
php cli character <lodestoneid> -file myCharacter
22+
```

Diff for: cli

+140-1
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,143 @@ require __DIR__ . '/vendor/autoload.php';
1111

1212
$api = new \Lodestone\Api();
1313

14-
print_r($api->character()->get('9575452')->Title);
14+
print_r($argv);
15+
16+
if ($argc < 2) {
17+
print("No arguments provided.\n");
18+
return;
19+
}
20+
21+
// Remove the cli file from the arguments array
22+
array_shift($argv);
23+
$cliCommandType = $argv[0];
24+
25+
switch($cliCommandType) {
26+
case "character":
27+
if (!isset($argv[1])) {
28+
print_r("INVALID ARGUMENT: Expected Character ID\n");
29+
break;
30+
}
31+
print_r("Parsing character of {$argv[1]}...\n");
32+
$results = $api->character()->get($argv[1]);
33+
if (isset($argv[2]) == "-file") {
34+
$file = fopen("{$argv[3]}.json", 'w');
35+
fwrite($file, json_encode($results));
36+
fclose($file);
37+
break;
38+
}
39+
print_r($results);
40+
break;
41+
42+
case "freecompany":
43+
if (!isset($argv[1])) {
44+
print_r("INVALID ARGUMENT: Expected FreeCompany ID\n");
45+
break;
46+
}
47+
print_r("Parsing freecompany of {$argv[1]}...\n");
48+
$results = $api->freecompany()->get($argv[1]);
49+
if (isset($argv[2]) == "-file") {
50+
$file = fopen("{$argv[3]}.json", 'w');
51+
fwrite($file, json_encode($results));
52+
fclose($file);
53+
break;
54+
}
55+
print_r($results);
56+
break;
57+
58+
case "pvpteam":
59+
if (!isset($argv[1])) {
60+
print_r("INVALID ARGUMENT: Expected PVP Team ID\n");
61+
break;
62+
}
63+
print_r("Parsing pvp team of {$argv[1]}...\n");
64+
$results = $api->pvpteam()->get($argv[1]);
65+
if (isset($argv[2]) == "-file") {
66+
$file = fopen("{$argv[3]}.json", 'w');
67+
fwrite($file, json_encode($results));
68+
fclose($file);
69+
break;
70+
}
71+
print_r($results);
72+
break;
73+
74+
case "linkshell":
75+
if (!isset($argv[1])) {
76+
print_r("INVALID ARGUMENT: Expected Linkshell ID\n");
77+
break;
78+
}
79+
print_r("Parsing linkshell of {$argv[1]}...\n");
80+
$results = $api->linkshell()->get($argv[1])->Results;
81+
if (isset($argv[2]) == "-file") {
82+
$file = fopen("{$argv[3]}.json", 'w');
83+
fwrite($file, json_encode($results));
84+
fclose($file);
85+
break;
86+
}
87+
print_r($results);
88+
break;
89+
90+
case "achievements":
91+
if (!isset($argv[1])) {
92+
print_r("INVALID ARGUMENT: Expected Linkshell ID\n");
93+
break;
94+
}
95+
print_r("Parsing achievements of {$argv[1]}...\n");
96+
$results = $api->character()->achievements($argv[1]);
97+
if (isset($argv[2]) == "-file") {
98+
$file = fopen("{$argv[3]}.json", 'w');
99+
fwrite($file, json_encode($results));
100+
fclose($file);
101+
break;
102+
}
103+
print_r($results);
104+
break;
105+
106+
case "banners":
107+
$results = $api->lodestone()->banners();
108+
if (isset($argv[1]) == "-file") {
109+
$file = fopen("{$argv[2]}.json", 'w');
110+
fwrite($file, json_encode($results));
111+
fclose($file);
112+
break;
113+
}
114+
print_r($results);
115+
break;
116+
117+
case "leaderboards":
118+
// Don't @me I know this is scuff.
119+
switch ($argv[1]) {
120+
case "feast":
121+
$results = $api->leaderboards()->feast();
122+
if (isset($argv[2]) == "-file") {
123+
$file = fopen("{$argv[3]}.json", 'w');
124+
fwrite($file, json_encode($results));
125+
fclose($file);
126+
break;
127+
}
128+
print_r($results);
129+
break;
130+
131+
case "potd":
132+
$results = $api->leaderboards()->ddPalaceOfTheDead();
133+
if (isset($argv[2]) == "-file") {
134+
$file = fopen("{$argv[3]}.json", 'w');
135+
fwrite($file, json_encode($results));
136+
fclose($file);
137+
break;
138+
}
139+
print_r($results);
140+
break;
141+
142+
case "hoh":
143+
$results = $api->leaderboards()->ddHeavenOnHigh();
144+
if (isset($argv[2]) == "-file") {
145+
$file = fopen("{$argv[3]}.json", 'w');
146+
fwrite($file, json_encode($results));
147+
fclose($file);
148+
break;
149+
}
150+
print_r($results);
151+
break;
152+
}
153+
}

0 commit comments

Comments
 (0)