Wildstash commited on
Commit
77e71c2
·
verified ·
1 Parent(s): b79450d

Upload tools/verify_afterblock_demo.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. tools/verify_afterblock_demo.py +25 -0
tools/verify_afterblock_demo.py CHANGED
@@ -73,6 +73,8 @@ def server_zip_checks(path: Path) -> dict:
73
  "afterblock-demo-world.zip",
74
  "afterblock-demo-proof.json",
75
  "afterblock-server-profile.json",
 
 
76
  "server.properties.append",
77
  "README.md",
78
  ]
@@ -80,6 +82,8 @@ def server_zip_checks(path: Path) -> dict:
80
  config = zf.read("plugins/DreamWall/config.yml").decode("utf-8")
81
  demo_proof = json.loads(zf.read("afterblock-demo-proof.json").decode("utf-8"))
82
  server_profile = json.loads(zf.read("afterblock-server-profile.json").decode("utf-8"))
 
 
83
  return {
84
  "file": path.name,
85
  "required_files_present": {name: name in names for name in required},
@@ -108,8 +112,25 @@ def server_zip_checks(path: Path) -> dict:
108
  ),
109
  "upload_map": len(server_profile.get("upload_map", [])) >= 4,
110
  "museum_check": "/dreamwall museum check" in server_profile.get("verification_commands", []),
 
 
111
  "no_password": "password" not in json.dumps(server_profile).lower().replace("no password", ""),
112
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
113
  }
114
 
115
 
@@ -162,6 +183,8 @@ def main() -> int:
162
  "has_verify_commands": "/dreamwall museum check" in server_bundle[2]
163
  and "/dreamwall import here" in server_bundle[2],
164
  "mentions_profile_json": "afterblock-server-profile.json" in server_bundle[2],
 
 
165
  },
166
  "demo_path_contract": {
167
  "has_judge_scorecard": "judge-scorecard" in demo_path,
@@ -223,6 +246,7 @@ def main() -> int:
223
  proof["server_config_ui_contract"]["has_upload_map"],
224
  proof["server_config_ui_contract"]["has_verify_commands"],
225
  proof["server_config_ui_contract"]["mentions_profile_json"],
 
226
  proof["demo_path_contract"]["has_judge_scorecard"],
227
  proof["demo_path_contract"]["has_winning_signal"],
228
  proof["demo_path_contract"]["cuts_feature_buffet"],
@@ -239,6 +263,7 @@ def main() -> int:
239
  all(proof["per_relic_server_zip"]["config_contains"].values()),
240
  all(proof["per_relic_server_zip"]["demo_proof_contract"].values()),
241
  all(proof["per_relic_server_zip"]["server_profile_contract"].values()),
 
242
  ]
243
  )
244
 
 
73
  "afterblock-demo-world.zip",
74
  "afterblock-demo-proof.json",
75
  "afterblock-server-profile.json",
76
+ "UPLOAD_TO_SERVER.md",
77
+ "install-afterblock-paper.sh",
78
  "server.properties.append",
79
  "README.md",
80
  ]
 
82
  config = zf.read("plugins/DreamWall/config.yml").decode("utf-8")
83
  demo_proof = json.loads(zf.read("afterblock-demo-proof.json").decode("utf-8"))
84
  server_profile = json.loads(zf.read("afterblock-server-profile.json").decode("utf-8"))
85
+ upload_guide = zf.read("UPLOAD_TO_SERVER.md").decode("utf-8")
86
+ install_helper = zf.read("install-afterblock-paper.sh").decode("utf-8")
87
  return {
88
  "file": path.name,
89
  "required_files_present": {name: name in names for name in required},
 
112
  ),
113
  "upload_map": len(server_profile.get("upload_map", [])) >= 4,
114
  "museum_check": "/dreamwall museum check" in server_profile.get("verification_commands", []),
115
+ "helper_files": set(server_profile.get("helper_files", []))
116
+ >= {"UPLOAD_TO_SERVER.md", "install-afterblock-paper.sh"},
117
  "no_password": "password" not in json.dumps(server_profile).lower().replace("no password", ""),
118
  },
119
+ "upload_helper_contract": {
120
+ "script_has_sftp_env": "AFTERBLOCK_SFTP_HOST" in install_helper
121
+ and "AFTERBLOCK_SFTP_USER" in install_helper,
122
+ "script_runs_sftp": "sftp -P" in install_helper,
123
+ "script_has_verify_commands": "/dreamwall museum check" in install_helper
124
+ and "/dreamwall import here" in install_helper,
125
+ "script_no_private_endpoint": not any(
126
+ secret in install_helper.lower()
127
+ for secret in ["password", "gmail", "itsarnav", "uk144"]
128
+ ),
129
+ "guide_has_upload_map": "Upload Map" in upload_guide
130
+ and "plugins/DreamWall/config.yml" in upload_guide,
131
+ "guide_has_minecraft_commands": "/dreamwall museum build" in upload_guide
132
+ and "/dreamwall import here" in upload_guide,
133
+ },
134
  }
135
 
136
 
 
183
  "has_verify_commands": "/dreamwall museum check" in server_bundle[2]
184
  and "/dreamwall import here" in server_bundle[2],
185
  "mentions_profile_json": "afterblock-server-profile.json" in server_bundle[2],
186
+ "mentions_upload_helper": "UPLOAD_TO_SERVER.md" in server_bundle[2]
187
+ and "install-afterblock-paper.sh" in server_bundle[2],
188
  },
189
  "demo_path_contract": {
190
  "has_judge_scorecard": "judge-scorecard" in demo_path,
 
246
  proof["server_config_ui_contract"]["has_upload_map"],
247
  proof["server_config_ui_contract"]["has_verify_commands"],
248
  proof["server_config_ui_contract"]["mentions_profile_json"],
249
+ proof["server_config_ui_contract"]["mentions_upload_helper"],
250
  proof["demo_path_contract"]["has_judge_scorecard"],
251
  proof["demo_path_contract"]["has_winning_signal"],
252
  proof["demo_path_contract"]["cuts_feature_buffet"],
 
263
  all(proof["per_relic_server_zip"]["config_contains"].values()),
264
  all(proof["per_relic_server_zip"]["demo_proof_contract"].values()),
265
  all(proof["per_relic_server_zip"]["server_profile_contract"].values()),
266
+ all(proof["per_relic_server_zip"]["upload_helper_contract"].values()),
267
  ]
268
  )
269