Skip to main content
Glama
jezweb

Australian Postcodes MCP Server

parsers.py1.49 kB
"""Pathable parsers module""" from typing import Any from typing import Hashable from typing import List from typing import Union from pathable.types import PartType SEPARATOR = "/" def parse_parts(parts: List[PartType], sep: str = SEPARATOR) -> List[Hashable]: """Parse (filter and split) path parts.""" parsed: List[Hashable] = [] it = reversed(parts) for part in it: if isinstance(part, int): parsed.append(part) continue if not part: continue if sep in part: for x in reversed(part.split(sep)): if x and x != ".": parsed.append(x) else: if part and part != ".": parsed.append(part) parsed.reverse() return parsed def parse_args(args: List[Any], sep: str = SEPARATOR) -> List[Hashable]: """Canonicalize path constructor arguments.""" parts: List[PartType] = [] for a in args: if hasattr(a, "parts"): parts += a.parts else: if isinstance(a, bytes): a = a.decode("ascii") if isinstance(a, str): parts.append(a) elif isinstance(a, int): parts.append(a) else: raise TypeError( "argument should be a text object or a Path " "object returning text, binary not %r" % type(a) ) return parse_parts(parts, sep)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jezweb/australian-postcodes-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server