def parse(self):
try:<EOL><INDENT>data = json.loads(self.obj.content, object_pairs_hook=OrderedDict)<EOL>if data:<EOL><INDENT>for package_type in ['<STR_LIT:default>', '<STR_LIT>']:<EOL><INDENT>if package_type in data:<EOL><INDENT>for name, meta in data[package_type].items():<EOL><INDENT>if '<STR_LIT:version>' not in meta:<EOL><INDENT>continue<EOL><DEDENT>specs = meta['<STR_LIT:version>']<EOL>hashes = meta['<STR_LIT>']<EOL>self.obj.dependencies.append(<EOL>Dependency(<EOL>name=name, specs=SpecifierSet(specs),<EOL>dependency_type=filetypes.pipfile_lock,<EOL>hashes=hashes,<EOL>line='<STR_LIT>'.join([name, specs]),<EOL>section=package_type<EOL>)<EOL>)<EOL><DEDENT><DEDENT><DEDENT><DEDENT><DEDENT>except ValueError:<EOL><INDENT>pass<EOL><DEDENT>
Parse a Pipfile.lock (as seen in pipenv)
:return: