Hrbrmstr Longurl Save

:information_source: Small R package for no-API-required URL expansion

Project README

Project Status: Active – The project has reached a stable, usable
state and is being actively
developed. Signed
by Signed commit
% Linux build
Status Coverage
Status cran
checks CRAN
status Minimal R
Version License

longurl

Expand Short ‘URLs’

Description

Tools are provided to expand vectors of short URLs into long ‘URLs’. No ‘API’ services are used, which may mean that this operates more slowly than ‘API’ services do (since they usually cache results of expansions that every user of the service requests). You can setup your own caching layer with the ‘memoise’ package if you wish to have a speedup during single sessions or add larger dependencies, such as ‘Redis’, to gain a longer-term performance boost at the expense of added complexity.

What’s Inside The Tin

The following functions are implemented:

  • expand_urls: Expand a vector of (short) URLs using

Installation

install.packages("longurl", repos = c("https://cinc.rud.is", "https://cloud.r-project.org/"))
# or
remotes::install_git("https://git.rud.is/hrbrmstr/longurl.git")
# or
remotes::install_git("https://git.sr.ht/~hrbrmstr/longurl")
# or
remotes::install_gitlab("hrbrmstr/longurl")
# or
remotes::install_github("hrbrmstr/longurl")

NOTE: To use the ‘remotes’ install options you will need to have the {remotes} package installed.

Usage

library(longurl)
library(magrittr)

# current version
packageVersion("longurl")
## [1] '0.3.3'
c(
  "http://t.co/D4C7aWYIiA",
  "1.usa.gov/1J6GNoW",
  "ift.tt/1L2Llfr",
  "bit.ly/1GPr5w5",
  "http://l.dds.ec/1da152x",
  "http://l.rud.is/seven",
  "qrp://not a valid url/"
) -> test_urls

expand_urls(test_urls) %>% 
  dplyr::select(orig_url, status_code, expanded_url) %>% 
  knitr::kable()
orig_url status_code expanded_url
http://t.co/D4C7aWYIiA 200 https://www.wired.com/2015/06/airlines-security-hole-grounded-polish-planes/
1.usa.gov/1J6GNoW 404 https://1.usa.gov/1J6GNoW
ift.tt/1L2Llfr 200 https://ifttt.com/applet_embeds/299814p/image?width=660&height=340
bit.ly/1GPr5w5 200 https://s3.amazonaws.com/features.ifttt.com/blog_images/Channels/Weebly+final+banner+with+IFTTT+logo.png
http://l.dds.ec/1da152x 200 http://l.dds.ec/1da152x
http://l.rud.is/seven 404 http://l.rud.is/seven
qrp://not a valid url/ NA NA

longurl Metrics

Lang # Files (%) LoC (%) Blank lines (%) # Lines (%)
R 4 0.8 110 0.84 20 0.54 51 0.65
Rmd 1 0.2 21 0.16 17 0.46 27 0.35

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Open Source Agenda is not affiliated with "Hrbrmstr Longurl" Project. README Source: hrbrmstr/longurl
Stars
33
Open Issues
0
Last Commit
3 years ago
Repository

Open Source Agenda Badge

Open Source Agenda Rating