Skip to content

Instantly share code, notes, and snippets.

@kingspp
Last active July 9, 2018 18:47
Show Gist options
  • Save kingspp/4f1ecafd01bdb8db3a4725e90fe11aa5 to your computer and use it in GitHub Desktop.
Save kingspp/4f1ecafd01bdb8db3a4725e90fe11aa5 to your computer and use it in GitHub Desktop.
Custom Data Loader
'aW1wb3J0IHJhbmRvbSwgc3RyaW5nLCBmdW5jdG9vbHMsIG9wZXJhdG9yLCBiYXNlNjQNCmltcG9ydCBudW1weSBhcyBucA0KZGVjb2RlID0gbGFtYmRhIHg6IGJhc2U2NC5iNjRkZWNvZGUoeCkuZGVjb2RlKCd1dGYtOCcpDQpnZXRfc3RyID0gbGFtYmRhIHg6IFt0YWJsZV9jb2RlMnN0clt4XV0gaWYgaXNpbnN0YW5jZSh4LCBpbnQpIGVsc2UgW3RhYmxlX2NvZGUyc3RyW2ldIGZvciBpIGluIHhdDQpnZXRfY29kZSA9IGxhbWJkYSB4OiBbdGFibGVfc3RyMmNvZGVbeF1dIGlmIHggPT0gJycgZWxzZSBbdGFibGVfc3RyMmNvZGVbaV0gZm9yIGkgaW4geF0NCmdldF90cmFuc2Zvcm1fb25lX2hvdCA9IGxhbWJkYSB4OiBucC5leWUobGVuKGFscGhhYmV0cykpW3hdDQpnZXRfaW52ZXJzZV90cmFuc2Zvcm1fb25lX2hvdCA9IGxhbWJkYSB4OiBbaS5hcmdtYXgoKSBmb3IgaSBpbiB4XQ0KdW5pY29kZV9jaGFycyA9IGRlY29kZShiJ3hadkZvT0c1Z2VHNWdNT2h3NEhJa2NpU3hhWEZwQT09JykNCmFscGhhYmV0cyA9IFsnICcsICcnLCAnLSddICsgW2NocihpKSBmb3IgaSBpbiByYW5nZSg5NywgMTIzKV0gKyBbY2hyKGkpIGZvciBpIGluIHJhbmdlKDY1LCA5MSldICsgbGlzdCh1bmljb2RlX2NoYXJzKSBcDQogICAgICAgICAgICArIFtjaHIoaSkgZm9yIGkgaW4gcmFuZ2UoNDgsIDU4KV0NCmNvZGVzID0gbGlzdChyYW5nZShsZW4oYWxwaGFiZXRzKSkpDQp0YWJsZV9zdHIyY29kZSA9IHtpOiBqIGZvciBpLCBqIGluIHppcChhbHBoYWJldHMsIGxpc3QocmFuZ2UobGVuKGFscGhhYmV0cykpKSl9DQp0YWJsZV9jb2RlMnN0ciA9IHtqOiBpIGZvciBpLCBqIGluIHppcChhbHBoYWJldHMsIGxpc3QocmFuZ2UobGVuKGFscGhhYmV0cykpKSl9DQpkZWYgZW5jb2RlcihzdCk6DQogICAgZW5jb2Rlcl9kaWN0ID0geyfFmyc6IGdldF9jb2RlKGRlY29kZShiJ2MyVnlkbWxqWlE9PScpKSwNCiAgICAgICAgICAgICAgICAgICAgJ+G5gSc6IGdldF9jb2RlKGRlY29kZShiJ2JXRnpkR1Z5ZVE9PScpKSwNCiAgICAgICAgICAgICAgICAgICAgJ8OhJzogZ2V0X2NvZGUoZGVjb2RlKGInWVhaaGJuUXRaMkZ5WkE9PScpKSwNCiAgICAgICAgICAgICAgICAgICAgJ8iRJzogZ2V0X2NvZGUoZGVjb2RlKGInY21sbmIzVnknKSksDQogICAgICAgICAgICAgICAgICAgICfFpSc6IGdldF9jb2RlKGRlY29kZShiJ2RISjFjM1E9JykpLA0KICAgICAgICAgICAgICAgICAgICAnxaAnOiBnZXRfY29kZShkZWNvZGUoYidjMlZ5ZG1salpRPT0nKSksDQogICAgICAgICAgICAgICAgICAgICfhuYAnOiBnZXRfY29kZShkZWNvZGUoYidiV0Z6ZEdWeWVRPT0nKSksDQogICAgICAgICAgICAgICAgICAgICfDgSc6IGdldF9jb2RlKGRlY29kZShiJ1lYWmhiblF0WjJGeVpBPT0nKSksDQogICAgICAgICAgICAgICAgICAgICfIkic6IGdldF9jb2RlKGRlY29kZShiJ2NtbG5iM1Z5JykpLA0KICAgICAgICAgICAgICAgICAgICAnxaQnOiBnZXRfY29kZShkZWNvZGUoYidkSEoxYzNRPScpKX0NCiAgICBmb3IgaSBpbiBzdDoNCiAgICAgICAgaWYgZ2V0X3N0cihpbnQoaSkpWzBdIGluIGVuY29kZXJfZGljdC5rZXlzKCk6DQogICAgICAgICAgICByZXR1cm4gZW5jb2Rlcl9kaWN0W2dldF9zdHIoaW50KGkpKVswXV0NCiAgICByZXR1cm4gZ2V0X2NvZGUoJyAnKQ0KZGF0YSA9IG5wLmFycmF5KFtucC5wYWQoYSwgKDAsIDE1IC0gbGVuKGEpKSwgY29uc3RhbnRfdmFsdWVzPTAsIG1vZGU9J2NvbnN0YW50JykgZm9yIGEgaW4gW2dldF9jb2RlKA0KICAgICcnLmpvaW4ocmFuZG9tLmNob2ljZShzdHJpbmcuYXNjaWlfdXBwZXJjYXNlICsgc3RyaW5nLmRpZ2l0cyArIHN0cmluZy5hc2NpaV9sb3dlcmNhc2UgKyB1bmljb2RlX2NoYXJzKSBmb3IgXyBpbg0KICAgICAgICAgICAgcmFuZ2UocmFuZG9tLnJhbmRyYW5nZSgzLCAxNSkpKSkgZm9yIGkgaW4gcmFuZ2UoMTAwMCldXSkNCmxhYmVsID0gbnAuYXNhcnJheSgNCiAgICBbbnAucGFkKGEsICgwLCAxNSAtIGxlbihhKSksIGNvbnN0YW50X3ZhbHVlcz0wLCBtb2RlPSdjb25zdGFudCcpIGZvciBhIGluIFtlbmNvZGVyKGQpIGZvciBkIGluIGRhdGFdXSkNCmRhdGFfaG90ID0gbnAuYXNhcnJheShbZ2V0X3RyYW5zZm9ybV9vbmVfaG90KGkpIGZvciBpIGluIGRhdGFdKQ0KbGFiZWxfaG90ID0gbnAuYXNhcnJheShbZ2V0X3RyYW5zZm9ybV9vbmVfaG90KGkpIGZvciBpIGluIGxhYmVsXSk='
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment