login_required(RacksHistory.as_view()), {}, 'racks'), url(r'^racks/(?P<rack>[-\w]*)/(?P<details>asset)/(?P<device>\d+)$', login_required(RacksAsset.as_view()), {}, 'racks'), url(r'^racks/(?P<rack>[-\w]*)/(?P<details>reports)/(?P<report>([a-z][\w_-]*)?)$', login_required(ReportRacksDeviceList.as_view()), {'device': ''}, 'racks'), url(r'^racks/(?P<rack>[-\w]*)/(?P<details>\w+)/(?P<device>)$', login_required(RacksDeviceList.as_view()), {}, 'racks'), url(r'^racks/(?P<rack>[-\w]*)/(?P<details>scan)/(?P<device>\d+)/$', login_required(RacksScan.as_view()), {}, 'racks'), url(r'^racks/(?P<rack>[-\w]*)/(?P<details>scan)/(?P<address>[\d.]*)/$', login_required(RacksScan.as_view()), {}, 'racks'), url(r'^networks/$', login_required(NetworksDeviceList.as_view()), {}, 'networks'), url(r'^networks/(?P<network_id>[^/]*)/(?P<details>info)/$', login_required(NetworksInfo.as_view()), {}, 'networks'), url(r'^networks/(?P<network_id>[^/]*)/(?P<details>components)/(?P<device>\d+)$', login_required(NetworksComponents.as_view()), {}, 'networks'), url(r'^networks/(?P<network_id>[^/]*)/(?P<details>software)/(?P<device>\d+)$', login_required(NetworksSoftware.as_view()), {}, 'networks'), url(r'^networks/(?P<network_id>[^/]*)/(?P<details>addresses)/$', login_required(NetworksAddresses.as_view()), {}, 'networks'), url(r'^networks/(?P<network_id>[^/]*)/(?P<details>history)/(?P<device>\d+)$', login_required(NetworksHistory.as_view()), {}, 'networks'), url(r'^networks/(?P<network_id>[^/]*)/(?P<details>asset)/(?P<device>\d+)$', login_required(NetworksAsset.as_view()), {}, 'networks'), url(r'^networks/(?P<network_id>[^/]*)/(?P<details>autoscan)/$', login_required(NetworksAutoscan.as_view()), {'status': 'new'}, 'networks'), url(r'^networks/(?P<network_id>[^/]*)/(?P<details>autoscan)/(?P<status>new|changed|dead|buried|all)/$', login_required(NetworksAutoscan.as_view()), {}, 'networks'), url(r'^networks/(?P<network_id>[^/]*)/(?P<details>scan)/(?P<device>\d+)/$',
login_required(RacksPurchase.as_view()), {}, 'racks'), url(r'^racks/(?P<rack>[-\w]*)/(?P<details>discover)/(?P<device>\d+)$', login_required(RacksDiscover.as_view()), {}, 'racks'), url(r'^racks/(?P<rack>[-\w]*)/(?P<details>cmdb)/(?P<device>\d+)$', login_required(RacksCMDB.as_view()), {}, 'racks'), url(r'^racks/(?P<rack>[-\w]*)/(?P<details>reports)/(?P<report>([a-z][\w_-]*)?)$', login_required(ReportRacksDeviceList.as_view()), {'device': ''}, 'racks'), url(r'^racks/(?P<rack>[-\w]*)/(?P<details>reports)/(?P<device>\d+)$', login_required(RacksReports.as_view()), {}, 'racks'), url(r'^racks/(?P<rack>[-\w]*)/(?P<details>\w+)/(?P<device>)$', login_required(RacksDeviceList.as_view()), {}, 'racks'), url(r'^networks/$', login_required(NetworksDeviceList.as_view()), {}, 'networks'), url(r'^networks/(?P<network>[^/]*)/(?P<details>info)/(?P<device>\d+)$', login_required(NetworksInfo.as_view()), {}, 'networks'), url(r'^networks/(?P<network>[^/]*)/(?P<details>components)/(?P<device>\d+)$', login_required(NetworksComponents.as_view()), {}, 'networks'), url(r'^networks/(?P<network>[^/]*)/(?P<details>software)/(?P<device>\d+)$', login_required(NetworksSoftware.as_view()), {}, 'networks'), url(r'^networks/(?P<network>[^/]*)/(?P<details>addresses)/(?P<device>\d+)$', login_required(NetworksAddresses.as_view()), {}, 'networks'), url(r'^networks/(?P<network>[^/]*)/(?P<details>prices)/(?P<device>\d+)$', login_required(NetworksPrices.as_view()), {}, 'networks'), url(r'^networks/(?P<network>[^/]*)/(?P<details>costs)/(?P<device>\d+)$', login_required(NetworksCosts.as_view()), {}, 'networks'), url(r'^networks/(?P<network>[^/]*)/(?P<details>history)/(?P<device>\d+)$', login_required(NetworksHistory.as_view()), {}, 'networks'), url(r'^networks/(?P<network>[^/]*)/(?P<details>purchase)/(?P<device>\d+)$', login_required(NetworksPurchase.as_view()), {}, 'networks'), url(r'^networks/(?P<network>[^/]*)/(?P<details>discover)/(?P<device>\d+)$',
login_required(RacksDeviceList.as_view()), {}, "racks", ), url( r"^racks/(?P<rack>[-\w]*)/(?P<details>scan)/(?P<device>\d+)/$", login_required(RacksScan.as_view()), {}, "racks" ), url( r"^racks/(?P<rack>[-\w]*)/(?P<details>scan)/(?P<address>[\d.]*)/$", login_required(RacksScan.as_view()), {}, "racks", ), url(r"^dc/$", DataCenterView.as_view(), {}, "dc_view"), url(r"^networks/$", login_required(NetworksDeviceList.as_view()), {}, "networks"), url(r"^networks/(?P<network_id>[^/]*)/(?P<details>info)/$", login_required(NetworksInfo.as_view()), {}, "networks"), url( r"^networks/(?P<network_id>[^/]*)/(?P<details>components)/(?P<device>\d+)$", login_required(NetworksComponents.as_view()), {}, "networks", ), url( r"^networks/(?P<network_id>[^/]*)/(?P<details>software)/(?P<device>\d+)$", login_required(NetworksSoftware.as_view()), {}, "networks", ), url( r"^networks/(?P<network_id>[^/]*)/(?P<details>addresses)/$", login_required(NetworksAddresses.as_view()),