Documentation ¶
Index ¶
- Constants
- func CreateMongoIDForDiretory(m *Member) (string, string, error)
- func GetShortIDFromStreetName(streetName string) string
- func GetStreetMap() map[string]StreetMapping
- func LoadStreetMappingsJson()
- type AddressLineParser
- type AddressParseError
- type AllMembers
- type AllOrders
- type Analysis
- func (a *Analysis) CrossCheckOrders(ao *AllOrders) ([]OrderMatch, []OrderMiss, error)
- func (a *Analysis) FetchAllMembersOnStreet(streetName string) []*Member
- func (a *Analysis) FetchInhabitants(streetNum int, streetName string) []Contact
- func (a *Analysis) FetchSingle(streetNum int, streetName string) (*Member, bool)
- func (a *Analysis) LoadAllMembers(allMembers *AllMembers)
- func (a *Analysis) UniqeStreetNames() []string
- type ByStreetNumber
- type Contact
- type DBService
- type DirLoaderService
- type DirQueryService
- type MainConfig
- type Member
- type MemberDB
- type MemberLookup
- type Mkey
- type Node
- type Order
- type OrderMatch
- type OrderMiss
- type PropertyAddress
- type StreetMapping
- type Trie
Constants ¶
View Source
const ( DEFAULT_ADDR_SEG_LEN = 2 SIM_THRESHOLD = 0.7 )
View Source
const ( TEXT_TRIE = iota NUM_TRIE )
Variables ¶
This section is empty.
Functions ¶
func GetStreetMap ¶
func GetStreetMap() map[string]StreetMapping
func LoadStreetMappingsJson ¶
func LoadStreetMappingsJson()
Types ¶
type AddressLineParser ¶
A simple implmentation of this address parser will work with "your" HOA address
it is not feasible to provide an all-encompassing addresss pareser, the logistics of doing so are documented here: https://www.reddit.com/r/golang/comments/i2jo1o/comment/g05f9rq/?utm_source=share&utm_medium=web2x&context=3
type AddressParseError ¶
func (*AddressParseError) Error ¶
func (e *AddressParseError) Error() string
type AllMembers ¶
type AllMembers struct {
Members []Member
}
func NewAllMembers ¶
func NewAllMembers() *AllMembers
func (*AllMembers) DeDupeMembers ¶
func (am *AllMembers) DeDupeMembers()
func (*AllMembers) PopulateFromJsonFile ¶
func (am *AllMembers) PopulateFromJsonFile(filename string)
type AllOrders ¶
type AllOrders struct {
// contains filtered or unexported fields
}
func NewAllOrders ¶
func NewAllOrders() *AllOrders
func (*AllOrders) LoadOrders ¶
func (*AllOrders) PrintOrders ¶
func (ao *AllOrders) PrintOrders()
func (*AllOrders) ValidateNumbers ¶
type Analysis ¶
type Analysis struct {
// contains filtered or unexported fields
}
func NewAnalysis ¶
func NewAnalysis() *Analysis
func (*Analysis) CrossCheckOrders ¶
func (a *Analysis) CrossCheckOrders(ao *AllOrders) ([]OrderMatch, []OrderMiss, error)
func (*Analysis) FetchAllMembersOnStreet ¶
func (*Analysis) FetchInhabitants ¶
func (*Analysis) FetchSingle ¶
func (*Analysis) LoadAllMembers ¶
func (a *Analysis) LoadAllMembers(allMembers *AllMembers)
func (*Analysis) UniqeStreetNames ¶
type ByStreetNumber ¶
type ByStreetNumber []OrderMatch
func (ByStreetNumber) Less ¶
func (a ByStreetNumber) Less(i, j int) bool
func (ByStreetNumber) Swap ¶
func (a ByStreetNumber) Swap(i, j int)
type Contact ¶
type DirLoaderService ¶
type DirLoaderService struct {
DBService
}
func NewDirLoader ¶
func NewDirLoader() *DirLoaderService
func (*DirLoaderService) BulkInsert ¶
func (s *DirLoaderService) BulkInsert(members []Member) error
func (*DirLoaderService) PopulateMongoFromJSON ¶
func (s *DirLoaderService) PopulateMongoFromJSON()
func (*DirLoaderService) Revalidate ¶
func (s *DirLoaderService) Revalidate(members []Member) error
func (*DirLoaderService) RevalidateMongoFromJSON ¶
func (s *DirLoaderService) RevalidateMongoFromJSON()
type DirQueryService ¶
type DirQueryService struct {
DBService
}
func NewDirQueryService ¶
func NewDirQueryService() *DirQueryService
func (*DirQueryService) FindAllMembers ¶
func (s *DirQueryService) FindAllMembers(members *[]Member) error
func (*DirQueryService) FindCountByStreetName ¶
func (s *DirQueryService) FindCountByStreetName()
func (*DirQueryService) FindMemberById ¶
func (s *DirQueryService) FindMemberById(memberId int) (Member, error)
func (*DirQueryService) FindMembersByStreetNumber ¶
func (s *DirQueryService) FindMembersByStreetNumber(number string) ([]PropertyAddress, error)
type MainConfig ¶
type MainConfig struct { MongoDBUrl string `config:"MONGODB_URI"` MongoDBName string `config:"MONGODB_NAME"` SlimMembersJson string `config:"SLIM_MEMBERS_JSON"` SlimMembersJsonReval string `config:"SLIM_MEMBERS_JSON_REVAL"` StreetsJson string `config:"STREETS_JSON"` }
func GetConfig ¶
func GetConfig() MainConfig
type MemberDB ¶
type MemberDB interface { Fetch(key Mkey) (*Member, bool) Add(key Mkey, member *Member) AddConvience(member *Member) Size() int AllMembers() []Member }
func NewMemberDB ¶
func NewMemberDB() MemberDB
type MemberLookup ¶
type MemberLookup struct {
// contains filtered or unexported fields
}
func NewMemberLookup ¶
func NewMemberLookup() *MemberLookup
func (*MemberLookup) FindMembersByStreetNumber ¶
func (ml *MemberLookup) FindMembersByStreetNumber(number string) ([]PropertyAddress, error)
func (*MemberLookup) SuggestNumber ¶
func (ml *MemberLookup) SuggestNumber(prefix string) []string
func (*MemberLookup) SuggestStreetName ¶
func (ml *MemberLookup) SuggestStreetName(prefix string) []StreetMapping
type Mkey ¶
type Mkey struct {
// contains filtered or unexported fields
}
Data mapping for searching addresses in-memory *
type Order ¶
type Order struct { Name string `csv:"Name"` Email string `csv:"Email"` StreetName string `csv:"Street Name"` StreetNumber int `csv:"Street Number"` StreetNumberV int `csv:"Street Number (verifiy)"` }
Order types
type OrderMatch ¶
type PropertyAddress ¶
type StreetMapping ¶
type StreetMapping struct { StreetName string `json:"name"` FullName string `json:"fullname"` ShortID string `json:"code"` TrieNames []string `json:"trienames"` }
func GetAllStreetMappings ¶
func GetAllStreetMappings() []StreetMapping
func GetStreetMappingFromShortID ¶
func GetStreetMappingFromShortID(shortId string) StreetMapping
func GetStreetMappingFromTrieName ¶
func GetStreetMappingFromTrieName(trieName string) StreetMapping
type Trie ¶
type Trie struct {
// contains filtered or unexported fields
}
func (*Trie) Suggestions ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.