Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
osu-trip
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Michael Vernier
osu-trip
Commits
d9261dd1
Commit
d9261dd1
authored
Apr 08, 2015
by
Michael Vernier
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added full api functionality
parent
d248bb39
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
246 additions
and
15 deletions
+246
-15
.gitignore
.gitignore
+1
-0
osu-trip.js
osu-trip.js
+220
-1
package.js
package.js
+25
-14
No files found.
.gitignore
0 → 100644
View file @
d9261dd1
.npm/
osu-trip.js
View file @
d9261dd1
// Write your package code here!
URL
=
Npm
.
require
(
'
url
'
);
moment
=
Npm
.
require
(
'
moment
'
)
OSUTrip
=
{};
var
apikey
;
var
baseurl
=
'
http://trip.osu.edu
'
OSUTrip
.
setKey
=
function
(
key
)
{
apikey
=
key
;
}
OSUTrip
.
getTime
=
function
()
{
if
(
apikey
)
{
var
url
=
URL
.
resolve
(
baseurl
,
'
bustime/api/v1/gettime
'
);
var
response
=
HTTP
.
call
(
'
GET
'
,
url
,
{
params
:
{
key
:
apikey
}
}
);
bustimeresponse
=
xml2js
.
parseStringSync
(
response
.
content
)[
'
bustime-response
'
];
if
(
bustimeresponse
.
error
)
{
throw
bustimeresponse
.
error
;
}
return
moment
(
bustimeresponse
.
tm
,
'
YYYYMMDD HH:mm:ss
'
).
toDate
();
}
else
{
throw
'
API key required
'
;
}
}
OSUTrip
.
getRoutes
=
function
()
{
if
(
apikey
)
{
var
url
=
URL
.
resolve
(
baseurl
,
'
bustime/api/v1/getroutes
'
);
var
response
=
HTTP
.
call
(
'
GET
'
,
url
,
{
params
:
{
key
:
apikey
}
}
);
bustimeresponse
=
xml2js
.
parseStringSync
(
response
.
content
)[
'
bustime-response
'
];
if
(
bustimeresponse
.
error
)
{
throw
bustimeresponse
.
error
;
}
return
bustimeresponse
.
route
;
}
else
{
throw
'
API key required
'
;
}
}
// route = route designator ( e.g. 'CLS' )
OSUTrip
.
getRouteDirection
=
function
(
route
)
{
if
(
apikey
)
{
if
(
route
)
{
var
url
=
URL
.
resolve
(
baseurl
,
'
bustime/api/v1/getdirections
'
);
var
response
=
HTTP
.
call
(
'
GET
'
,
url
,
{
params
:
{
key
:
apikey
,
rt
:
route
}
}
);
bustimeresponse
=
xml2js
.
parseStringSync
(
response
.
content
)[
'
bustime-response
'
];
if
(
bustimeresponse
.
error
)
{
throw
bustimeresponse
.
error
;
}
return
bustimeresponse
.
dir
;
}
else
{
throw
'
Parameter
\'
route
\'
required
'
;
}
}
else
{
throw
'
API key required
'
;
}
}
OSUTrip
.
getRouteStops
=
function
(
route
)
{
try
{
var
direction
=
OSUTrip
.
getRouteDirection
(
route
);
var
url
=
URL
.
resolve
(
baseurl
,
'
bustime/api/v1/getstops
'
);
var
response
=
HTTP
.
call
(
'
GET
'
,
url
,
{
params
:
{
key
:
apikey
,
rt
:
route
,
dir
:
direction
}
}
);
bustimeresponse
=
xml2js
.
parseStringSync
(
response
.
content
)[
'
bustime-response
'
];
if
(
bustimeresponse
.
error
)
{
throw
bustimeresponse
.
error
;
}
return
bustimeresponse
.
stop
;
}
catch
(
e
)
{
throw
e
;
}
}
OSUTrip
.
getRoutePatterns
=
function
(
route
)
{
if
(
apikey
)
{
if
(
route
)
{
var
url
=
URL
.
resolve
(
baseurl
,
'
bustime/api/v1/getpatterns
'
);
var
response
=
HTTP
.
call
(
'
GET
'
,
url
,
{
params
:
{
key
:
apikey
,
rt
:
route
}
}
);
bustimeresponse
=
xml2js
.
parseStringSync
(
response
.
content
)[
'
bustime-response
'
];
if
(
bustimeresponse
.
error
)
{
throw
bustimeresponse
.
error
;
}
return
bustimeresponse
.
ptr
;
}
else
{
throw
'
Parameter
\'
route
\'
required
'
;
}
}
else
{
throw
'
API key required
'
;
}
}
OSUTrip
.
getRoutePredictions
=
function
(
route
,
stopId
,
numPredictions
)
{
if
(
apikey
)
{
if
(
route
&&
stopId
)
{
var
url
=
URL
.
resolve
(
baseurl
,
'
bustime/api/v1/getpredictions
'
);
var
params
=
{
key
:
apikey
,
rt
:
route
,
stpid
:
stopId
};
if
(
numPredictions
)
{
params
.
top
=
numPredictions
;
}
var
response
=
HTTP
.
call
(
'
GET
'
,
url
,
{
params
:
params
}
);
bustimeresponse
=
xml2js
.
parseStringSync
(
response
.
content
)[
'
bustime-response
'
];
if
(
bustimeresponse
.
error
)
{
throw
bustimeresponse
.
error
;
}
return
bustimeresponse
.
prd
;
}
else
{
throw
'
Parameters
\'
route
\'
and
\'
stopId
\'
required
'
;
}
}
else
{
throw
'
API key required
'
;
}
}
OSUTrip
.
getBuses
=
function
(
route
)
{
if
(
apikey
)
{
if
(
route
)
{
var
routestr
=
''
;
if
(
Array
.
isArray
(
route
)
)
{
_
.
each
(
route
,
function
(
r
)
{
routestr
+=
r
;
routestr
+=
'
,
'
;
});
// remove trailing comma
routestr
=
routestr
.
substring
(
0
,
routestr
.
length
-
1
);
}
else
{
routestr
=
route
;
}
var
url
=
URL
.
resolve
(
baseurl
,
'
bustime/api/v1/getvehicles
'
);
var
response
=
HTTP
.
call
(
'
GET
'
,
url
,
{
params
:
{
key
:
apikey
,
rt
:
routestr
}
}
);
bustimeresponse
=
xml2js
.
parseStringSync
(
response
.
content
)[
'
bustime-response
'
];
if
(
bustimeresponse
.
error
)
{
throw
bustimeresponse
.
error
;
}
return
bustimeresponse
.
vehicle
;
}
else
{
throw
'
Parameters
\'
route
\'
and
\'
stopId
\'
required
'
;
}
}
else
{
throw
'
API key required
'
;
}
}
\ No newline at end of file
package.js
View file @
d9261dd1
Package
.
describe
({
name
:
'
swyphcosmo:osu-trip
'
,
version
:
'
0.0.1
'
,
// Brief, one-line summary of the package.
summary
:
'
Meteor package for accessing the Ohio State University BusTime API
'
,
// URL to the Git repository containing the source code for this package.
git
:
'
http://www.swyphcosmo.com/vernierm/osu-trip
'
,
// By default, Meteor will default to using README.md for documentation.
// To avoid submitting documentation, set this field to null.
documentation
:
'
README.md
'
name
:
'
swyphcosmo:osu-trip
'
,
version
:
'
0.1.0
'
,
// Brief, one-line summary of the package.
summary
:
'
Meteor package for accessing the Ohio State University BusTime API
'
,
// URL to the Git repository containing the source code for this package.
git
:
'
http://www.swyphcosmo.com/vernierm/osu-trip
'
,
// By default, Meteor will default to using README.md for documentation.
// To avoid submitting documentation, set this field to null.
documentation
:
'
README.md
'
});
Npm
.
depends
({
url
:
'
0.10.3
'
,
moment
:
'
2.9.0
'
});
Package
.
onUse
(
function
(
api
)
{
api
.
versionsFrom
(
'
1.1
'
);
api
.
addFiles
(
'
osu-trip.js
'
);
api
.
versionsFrom
(
'
1.1
'
);
api
.
use
(
'
http
'
,
'
server
'
);
api
.
use
(
'
peerlibrary:xml2js
'
);
api
.
export
(
'
OSUTrip
'
,
'
server
'
);
api
.
addFiles
(
'
osu-trip.js
'
,
'
server
'
);
});
Package
.
onTest
(
function
(
api
)
{
api
.
use
(
'
tinytest
'
);
api
.
use
(
'
swyphcosmo:osu-trip
'
);
api
.
addFiles
(
'
osu-trip-tests.js
'
);
api
.
use
(
'
tinytest
'
);
api
.
use
(
'
swyphcosmo:osu-trip
'
);
api
.
addFiles
(
'
osu-trip-tests.js
'
);
});
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment